前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >CF思维联系– Codeforces-989C C. A Mist of Florescence

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

作者头像
风骨散人Chiam
发布2020-10-29 11:50:10
发布2020-10-29 11:50:10
41700
代码可运行
举报
文章被收录于专栏:CSDN旧文CSDN旧文
运行总次数:0
代码可运行

ACM思维题训练集合

C. A Mist of Florescence

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

As the boat drifts down the river, a wood full of blossoms shows up on the riverfront.

"I've been here once," Mino exclaims with delight, "it's breathtakingly amazing."

"What is it like?"

"Look, Kanno, you've got your paintbrush, and I've got my words. Have a try, shall we?"

There are four kinds of flowers in the wood, Amaranths, Begonias, Centaureas and Dianthuses.

The wood can be represented by a rectangular grid of n rows and m

According to Mino, the numbers of connected components formed by each kind of flowers are a, b, c and d

You are to help Kanno depict such a grid of flowers, with n and m

Note that you can choose arbitrary n and m

Input

The first and only line of input contains four space-separated integers a, b, c and d ( ( \leq a, b, c, d \leq 100

Output

In the first line, output two space-separated integers n and m ( ( \leq n, m \leq 50

Then output n lines each consisting of m

In case there are multiple solutions, print any. You can output each letter in either case (upper or lower).

Examples

Input

Copy

代码语言:javascript
代码运行次数:0
复制
5 3 2 1

Output

Copy

代码语言:javascript
代码运行次数:0
复制
4 7
DDDDDDD
DABACAD
DBABACD
DDDDDDD

Input

Copy

代码语言:javascript
代码运行次数:0
复制
50 50 1 1

Output

Copy

代码语言:javascript
代码运行次数:0
复制
4 50
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
ABABABABABABABABABABABABABABABABABABABABABABABABAB
BABABABABABABABABABABABABABABABABABABABABABABABABA
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Input

Copy

代码语言:javascript
代码运行次数:0
复制
1 6 4 5

Output

Copy

代码语言:javascript
代码运行次数:0
复制
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.

傻逼构造题,我是垃圾

分成四块涂成四种颜色,然后,点点。

代码语言:javascript
代码运行次数:0
复制
#include <bits/stdc++.h>
using namespace std;
template <typename t>
void read(t &x)
{
    char ch = getchar();
    x = 0;
    t f = 1;
    while (ch < '0' || ch > '9')
        f = (ch == '-' ? -1 : f), ch = getchar();
    while (ch >= '0' && ch <= '9')
        x = x * 10 + ch - '0', ch = getchar();
    x *= f;
}

#define wi(n) printf("%d ", n)
#define wl(n) printf("%lld ", n)
#define rep(m, n, i) for (int i = m; i < n; ++i)
#define rrep(m, n, i) for (int i = m; i > n; --i)
#define P puts(" ")
typedef long long ll;
#define MOD 1000000007
#define mp(a, b) make_pair(a, b)
#define N 1005
#define fil(a, n) rep(0, n, i) read(a[i])
//---------------https://lunatic.blog.csdn.net/-------------------//

int mapp[100][100];
int a[5];

int main()
{
    memset(mapp, 0, sizeof(mapp));
    for (int i = 1; i <= 4; i++)
    {
        scanf("%d", &a[i]);
        a[i]--;
    }
    int p = 2;
    int q = 2;
    for (int i = 1; i <= a[1]; i++)
    {
        mapp[p][q] = 1;
        p += 2;
        if (p > 24)
        {
            p = 2;
            q += 2;
        }
    }
    p = 27;
    q = 2;
    for (int i = 1; i <= a[2]; i++)
    {
        mapp[p][q] = 2;
        p += 2;
        if (p > 49)
        {
            p = 27;
            q += 2;
        }
    }
    p = 2;
    q = 27;
    for (int i = 1; i <= a[3]; i++)
    {
        mapp[p][q] = 3;
        p += 2;
        if (p > 24)
        {
            p = 2;
            q += 2;
        }
    }
    p = 27;
    q = 27;
    for (int i = 1; i <= a[4]; i++)
    {
        //cout<<"p="<<p<<" q="<<q<<endl;
        mapp[p][q] = 4;
        p += 2;
        if (p > 49)
        {
            p = 27;
            q += 2;
        }
    }
    cout << "50 50" << endl;
    for (int i = 1; i <= 50; i++)
    {
        for (int j = 1; j <= 50; j++)
        {
            if (mapp[i][j] == 1 || mapp[i][j] == 0 && i >= 26 && j >= 26)
                cout << 'A';
            else if (mapp[i][j] == 2 || mapp[i][j] == 0 && i <= 25 && j >= 26)
                cout << 'B';
            else if (mapp[i][j] == 3 || mapp[i][j] == 0 && i >= 26 && j <= 25)
                cout << 'C';
            else
                cout << 'D';
        }
        cout << endl;
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/02/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档