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

2020-10-29 11:50:10 浏览数 (1)

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;
}

0 人点赞