CodeForces 581D Three Logos
爆搜。
#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的更多相关文章
- 「CodeForces 581D」Three Logos
BUPT 2017 Summer Training (for 16) #3A 题意 给你三个矩形,需要不重叠不留空地组成一个正方形.不存在输出-1,否则输出边长和这个正方形(A,B,C表示三个不同矩形 ...
- Round #322 (Div. 2) 581D Three Logos (模拟)
先枚举两个矩形,每个矩形横着放或竖着放,把一边拼起来, 如果不是拼起来有缺口就尝试用第三个矩形去补. 如果没有缺口就横着竖着枚举一下第三个矩形和合并的矩形x或y拼接. #include<bits ...
- codeforces581D
Three Logos CodeForces - 581D Three companies decided to order a billboard with pictures of their lo ...
- 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 ...
- Codeforces Round #322 (Div. 2) D. Three Logos 模拟
D. Three Logos Three companies decided to order a ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
随机推荐
- c++ lower_bound upper_bound
lower_bound, first greater than or equal to upper_bound, first strickly greater
- 使用SpringSecurity3用户验证(异常信息,验证码)
1. 自定义user-service后,封装自定义异常信息返回 通常情况下,抛UsernameNotFoundException异常信息是捕捉不了,跟踪源码后发现 try { user = retri ...
- document.createDocumentFragment 方法
基本概念 document.createDocumentFragment 方法会创建一个 DocumentFragment 对象,该对象是一个存在于 DOM 树之外的 DOM 节点.它有一个非常有用的 ...
- Google Gson的使用方法
用法1:从网络获取到json字符串之后,假如该字符串为data, Gson gson = new Gson(); HomeBean json = gson.fromJson(data, HomeBea ...
- (转载)解析ISO8583报文实例
本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载. 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00(前五个字节为TPDU) 60 31 ...
- JS IIFE写法
IIFE 博客分类: 前端开发 介绍IIFE IIFE的性能 使用IIFE的好处 IIFE最佳实践 jQuery优化 在Bootstrap源码(具体请看<Bootstrap源码解析>) ...
- OpenLayer 3 鼠标位置坐标显示控件
<body> <div id="map"> <div id="mouse-position"></div> &l ...
- 非常简单的oracle和mysql数据互传
工具是navicat,我用的是Navicat Premium 10: 这个工具可以同时连接mysql和oracle,如图: 同时连接上这两个库之后 工具->数据传输 左边是数据源,右边是导入目标 ...
- 最小点集覆盖/HDU2119
题目连接 先试一下题/?/ 最小点集覆盖=最大匹配 /*根据i.j建图,跑一边最大匹配 */ #include<cstdio> #include<cstring> using ...
- 提高MySQL查询速度
参考百度知道 关于mysql处理百万级以上的数据时如何提高其查询速度的方法 最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法. 由于在参与的实际项目中发现当m ...