爆搜。

#include<cstdio>
#include<string.h>
#include<math.h>
#include<queue>
#include<algorithm>
using namespace std; int R[],C[];
int r[],c[];
int flag[];
int ans,f; bool check()
{
for(int i=;i<=;i++)
{
r[i]=R[i],c[i]=C[i];
if(flag[i]==) swap(r[i],c[i]);
} if(r[]+r[]+r[]==c[])
{
printf("%d\n",c[]);
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("A");
printf("\n");
}
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("B");
printf("\n");
}
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("C");
printf("\n");
}
return ;
} if(r[]==r[]&&c[]==c[]+c[]&&c[]==r[]+r[])
{
printf("%d\n",c[]); for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("A");
printf("\n");
}
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("B");
for(int j=;j<=c[];j++) printf("C");
printf("\n");
}
return ;
} if(r[]==r[]&&c[]==c[]+c[]&&c[]==r[]+r[])
{
printf("%d\n",c[]);
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("B");
printf("\n");
}
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("A");
for(int j=;j<=c[];j++) printf("C");
printf("\n");
}
return ;
} if(r[]==r[]&&c[]==c[]+c[]&&c[]==r[]+r[])
{
printf("%d\n",c[]); for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("C");
printf("\n");
}
for(int i=;i<=r[];i++) {
for(int j=;j<=c[];j++) printf("A");
for(int j=;j<=c[];j++) printf("B");
printf("\n");
}
return ;
}
return ;
} void dfs(int now)
{
if(now==)
{
if(f==) return;
if(check()==) f=;
return ;
}
flag[now]=; dfs(now+);
flag[now]=; dfs(now+);
} int main()
{
for(int i=;i<=;i++) scanf("%d%d",&R[i],&C[i]);
f=;
dfs();
if(f==) printf("-1\n");
return ;
}

CodeForces 581D Three Logos的更多相关文章

  1. 「CodeForces 581D」Three Logos

    BUPT 2017 Summer Training (for 16) #3A 题意 给你三个矩形,需要不重叠不留空地组成一个正方形.不存在输出-1,否则输出边长和这个正方形(A,B,C表示三个不同矩形 ...

  2. Round #322 (Div. 2) 581D Three Logos (模拟)

    先枚举两个矩形,每个矩形横着放或竖着放,把一边拼起来, 如果不是拼起来有缺口就尝试用第三个矩形去补. 如果没有缺口就横着竖着枚举一下第三个矩形和合并的矩形x或y拼接. #include<bits ...

  3. codeforces581D

    Three Logos CodeForces - 581D Three companies decided to order a billboard with pictures of their lo ...

  4. Codeforces Round #322 (Div. 2) D. Three Logos 暴力

    D. Three Logos Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/581/problem ...

  5. Codeforces Round #322 (Div. 2) D. Three Logos 模拟

                                                      D. Three Logos Three companies decided to order a ...

  6. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  7. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  8. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  9. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

随机推荐

  1. httpclient调用方法

    /**  * GET请求  *   * @param url  *            请求url,参数拼在请求串中  */ public static String get(String url) ...

  2. ecshop foreach循环判断循环次数

    首先要在foreach里面加上一个name属相,如:name=name如:<!-- {foreach from=$package_goods.goods_list item=goods_list ...

  3. 登录验证的js;JS验证邮箱 验证密码

    var auth_email = 0, auth_pwd = 0, auth_captcha = 0, url_ajax = "/protected/user_ajax.php"; ...

  4. 用sql server的sql语句算一个empty GUID

    在C#中得到一个empty GUID的方法是: Guid id= Guid.Empty; 那么在SQL Server Management Studio中怎样得到一个empty GUID呢? 方法有两 ...

  5. Anton and Chess

    Anton and Chess time limit per test 4 seconds memory limit per test 256 megabytes input standard inp ...

  6. ssh登录nat模式的VMware虚拟机

    有时候本地PC是固定IP上网方式且无多余IP,而我们又希望使用putty登陆VMware中的虚拟机且虚拟机可以上外网,那么这时候就可以使用端口映射. 1.本地环境简述 本地PC IP:192.168. ...

  7. PHP上传图片三个步骤详细分析

    学习PHP时,你可能会遇到PHP上传图片问题,这里将介绍PHP上传图片问题的解决方法,在这里拿出来和大家分享一下.今天我们就开始一起学习PHP上传图片.上传图片原理:首先判断文件类型是否为图片格式,若 ...

  8. Facade ——为子系统的一组接口提供一致界面

    Façade模式提供了子系统一组接口的一致封装特性,如下图所示: 如图所示,OperationWrapper的实现依赖SubSystem1,2等的Operation操作.但用户调用OperationW ...

  9. [转]Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数

    Java初始化顺序1在new B一个实例时首先要进行类的装载.(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B3,装载父类A后,完成静态动作(包 ...

  10. (转)Unity3D移动平台动态读取外部文件全解析

    Unity3D移动平台动态读取外部文件全解析 c#语言规范 阅读目录 前言: 假如我想在editor里动态读取文件 移动平台的资源路径问题 移动平台读取外部文件的方法 补充: 回到目录 前言: 一直有 ...