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. shape和reshape

    import numpy as np a = np.array([1,2,3,4,5,6,7,8]) #一维数组 print(a.shape[0]) #值为8,因为有8个数据 print(a.shap ...

  2. 45-python基础-python3-字符串-常用字符串方法(三)-startswith()-endswith()

    4-字符串方法 startswith()和 endswith() startswith()和 endswith()判断字符串是否以某个字符串开始或结尾,存在返回 True,否则,方法返回 False. ...

  3. c# 编程--基础部分补全篇

    C#基础 分支: switch            switch(表达式)                {                    case 具体值1:                ...

  4. webacp4.0

    'use strict';const path = require('path'); var APP_PATH = path.resolve(__dirname, 'src');const webpa ...

  5. while 循环语句举例

  6. 力扣——Next Permutation(下一个排列) python实现

    题目描述: 中文: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许 ...

  7. linux-mysql-install

    版本是5.6之前的,安装MySQL步骤 yum install mysql-server 安装服务器端 yum install mysql-devel 安装服务器端 mysql配置文件/etc/my. ...

  8. mysql 获取任意一个月的所有天数。

    SELECT ADDDATE(y.first, x.d - 1) as dFROM(SELECT 1 AS d UNION ALLSELECT 2 UNION ALLSELECT 3 UNION AL ...

  9. 深入了解 Flink 网络栈(二):监控、指标和处理背压

    在之前的文章中,我们从高级抽象到底层细节各个层面全面介绍了 Flink 网络栈的工作机制.作为这一系列的第二篇文章,本文将在第一篇的基础上更进一步,主要探讨如何监视与网络相关的指标,从而识别背压等因素 ...

  10. delphi 使电脑睡眠代码

    //提升进程令牌函数 function AdjustProcessPrivilege(ProcessHandle:THandle;Token_Name:Pchar):boolean; var Toke ...