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

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

作者头像
风骨散人Chiam
发布2020-10-29 11:50:10
4060
发布2020-10-29 11:50:10
举报
文章被收录于专栏:CSDN旧文

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
复制
5 3 2 1

Output

Copy

代码语言:javascript
复制
4 7
DDDDDDD
DABACAD
DBABACD
DDDDDDD

Input

Copy

代码语言:javascript
复制
50 50 1 1

Output

Copy

代码语言:javascript
复制
4 50
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
ABABABABABABABABABABABABABABABABABABABABABABABABAB
BABABABABABABABABABABABABABABABABABABABABABABABABA
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Input

Copy

代码语言:javascript
复制
1 6 4 5

Output

Copy

代码语言:javascript
复制
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
复制
#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 归档