A Mist of Florescence

##题目大意:
###事先告诉你每种颜色分别有几个联通块,构造一个不超过 $50*50$ 的矩形。用 $A,B,C,D$ 四种颜色来对矩形进行涂色使它满足要求。
#每种颜色联通块不超过 $100$

Examples

input

5 3 2 1

output

4 7

DDDDDDD

DABACAD

DBABACD

DDDDDDD

input

50 50 1 1

output

4 50

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

ABABABABABABABABABABABABABABABABABABABABABABABABAB

BABABABABABABABABABABABABABABABABABABABABABABABABA

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

input

1 6 4 5

output

7 7

DDDDDDD

DDDBDBD

DDCDCDD

DBDADBD

DDCDCDD

DBDBDDD

DDDDDDD

Note

In the first example, each cell of Amaranths, Begonias and Centaureas forms a connected component, while all the Dianthuses form one.

我不就是读不懂英文题面吗???至于这样吗?
所以比赛的时候问了一下 $Zero$ 然后他告诉我了大概意思。。。
#并没有告诉我每个联通块个数不超过 100
####(大家可以想想这是个啥不可做题。。。。)
##而且我还以为矩形大小是题目规定的。。。。更不可做。。。
当场去世。。。。
(然后比赛打到一半开开心心的出去吃面去了。。。。面真好吃233)

看一眼代码就知道这是一道**题了。。。
得知数据范围的我很生气。。。机房调试都没有当场 1A 的啊。。

不好意思打扰了。。。


#include<bits/stdc++.h>
using namespace std;
char mapp[55][55];
int A, B, C, D; inline void prepare()
{
A--; B--; C--; D--; for(int i = 1; i <= 24; ++i)
for(int j = 1; j <= 24; ++j)
mapp[i][j] = 'A'; for(int i = 1; i <= 24; ++i)
for(int j = 25; j <= 48; ++j)
mapp[i][j] = 'B'; for(int i = 25; i <= 48; ++i)
for(int j = 1; j <= 24; ++j)
mapp[i][j] = 'C'; for(int i = 25; i <= 48; ++i)
for(int j = 25; j <= 48; ++j)
mapp[i][j] = 'D';
} inline void Draw()
{
int i = 2, j = 0;
while(B){
B--;
if(j <= 18) j += 2;
else{i += 2; j = 2;}
mapp[i][j] = 'B';
} i = 2; j = 24;
while(A){
A--;
if(j <= 42) j += 2;
else{i += 2; j = 26;}
mapp[i][j] = 'A';
} i = 26; j = 0;
while(D){
D--;
if(j <= 18) j += 2;
else{i += 2; j = 2;}
mapp[i][j] = 'D';
} i = 26; j = 24;
while(C){
C--;
if(j <= 42) j += 2;
else{i += 2; j = 26;}
mapp[i][j] = 'C';
}
} inline void print()
{
printf("48 48\n");
for(int i = 1; i <= 48; ++i){
for(int j = 1; j <= 48; ++j)
printf("%c", mapp[i][j]);
printf("\n");
} } int main()
{
scanf("%d%d%d%d", &A, &B, &C, &D);
prepare();
Draw();
print();
return 0;
}

Codeforces A Mist of Florescence的更多相关文章

  1. Codeforces Round #487 (Div. 2) C - A Mist of Florescence

    C - A Mist of Florescence 把50*50的矩形拆成4块 #include<bits/stdc++.h> using namespace std; ],b[]; ][ ...

  2. C. A Mist of Florescence ----- Codeforces Round #487 (Div. 2)

    C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input stan ...

  3. Codeforces Round #487 (Div. 2) A Mist of Florescence (暴力构造)

    C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input stan ...

  4. CF989C A Mist of Florescence (构造)

    CF989C A Mist of Florescence solution: 作为一道构造题,这题确实十分符合构造的一些通性----(我们需要找到一些规律,然后无脑循环).个人认为这题规律很巧妙也很典 ...

  5. 【题解】CF989C A Mist of Florescence

    [题解]CF989C A Mist of Florescence 题目大意: 让你构造一个\(n∗m\)矩阵,这个矩阵由4种字符填充构成,给定4个整数,即矩阵中每种字符构成的四联通块个数,\(n,m\ ...

  6. CF989C A Mist of Florescence 构造 思维好题 第八题

    A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standar ...

  7. CF思维联系– Codeforces-989C C. A Mist of Florescence

    ACM思维题训练集合 C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes ...

  8. Codeforces 989C - A Mist of Florescence

    传送门:http://codeforces.com/contest/989/problem/C 这是一个构造问题. 构造一张网格,网格中的字符为’A’.’B’.’C’.’D’,并且其连通块的个数分别为 ...

  9. A Mist of Florescence CodeForces - 989C(思维构造)

    题意: 让你构造一个图,使得A,B,C,D的个数为给定的个数,上下左右连通的算一个. 哎呀 看看代码就懂了..emm..很好懂的 #include <bits/stdc++.h> usin ...

随机推荐

  1. docker--shell和Exec格式

    shell格式 RUN apt-get install -y vim CMD echo "docker so easy" ENTRYPOINT echo "docker ...

  2. java虚拟机规范(se8)——java虚拟机的编译(三)

    3.6 接受参数 如果n个参数传给一个实例的方法,按照约定,它们被接受并放在这个新方法创建的栈帧中的局部变量表里,在局部变量表中的序号从1到n.这些参数按照它们传递过来的顺序存放.例如: int ad ...

  3. 【学习总结】Python-3-算术运算符中的/和//

    参考:菜鸟教程-Python3运算符 参考:菜鸟教程-Python3数字 算术运算符中的两种除法的区别: 一个斜杠/:正常的人类除法,两个int相除也保留小数 eg: 21/10 = 2.1 两个斜杠 ...

  4. 2019-3-1-win10-uwp-使用-LayoutTransformer

    title author date CreateTime categories win10 uwp 使用 LayoutTransformer lindexi 2019-03-01 09:24:32 + ...

  5. shell unique

    由于uniq命令只能对相邻行进行去重复操作,所以在进行去重前,先要对文本行进行排序,使重复行集中到一起 1.文本行去重 (1)排序由于uniq命令只能对相邻行进行去重复操作,所以在进行去重前,先要对文 ...

  6. 离线安装.NET Framework 3.5

    通过 NetFx3.cab 文件安装 NetFx3.cab下载链接: 链接:https://pan.baidu.com/s/1OPk-G_ChSwV89VZl6TV-LA 提取码:8zel 复制这段内 ...

  7. 力扣——Reverse Nodes in k-Group(K 个一组翻转链表) python实现

    题目描述: 中文: 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序 ...

  8. pycharm查找替换快捷键

    查找:CTRL + F 替换:CTRL + R 如果想删除,替换那一栏不填就可以了

  9. 【Guava】Guava Cache用法

    背景 缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用.在日长开发有很多场合,有一些数据量不是很大,不会经常改动,并且访问非常频繁.但是由于受限于硬盘IO的性能或者远程网络 ...

  10. Java的传值调用

    (本文非引战或diss,只是说出自己的理解,欢迎摆正心态观看或探讨) 引子 之所以写这篇文章是因为前些天写了一篇<Java中真的只有值传递么?>探讨了网上关于Java只有值传递的说法,当时 ...