CSES - Datatähti 2023 loppu - Results
Submission details
Task:Ruudukko
Sender:adex720
Submission time:2023-01-21 16:22:19 +0200
Language:C++17
Status:READY
Result:36
Feedback
groupverdictscore
#1ACCEPTED11
#2ACCEPTED25
#30
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2, 3details
#2ACCEPTED0.00 s1, 2, 3details
#3ACCEPTED0.00 s1, 2, 3details
#4ACCEPTED0.00 s1, 2, 3details
#5ACCEPTED0.00 s1, 2, 3details
#6ACCEPTED0.00 s1, 2, 3details
#7ACCEPTED0.00 s1, 2, 3details
#8ACCEPTED0.00 s1, 2, 3details
#9ACCEPTED0.00 s1, 2, 3details
#10ACCEPTED0.00 s1, 2, 3details
#11ACCEPTED0.00 s1, 2, 3details
#12ACCEPTED0.00 s1, 2, 3details
#13ACCEPTED0.00 s1, 2, 3details
#14ACCEPTED0.00 s1, 2, 3details
#15ACCEPTED0.00 s1, 2, 3details
#16ACCEPTED0.00 s1, 2, 3details
#17ACCEPTED0.00 s2, 3details
#18ACCEPTED0.00 s2, 3details
#19ACCEPTED0.00 s2, 3details
#20ACCEPTED0.00 s2, 3details
#21ACCEPTED0.00 s2, 3details
#22ACCEPTED0.00 s2, 3details
#23ACCEPTED0.00 s2, 3details
#24ACCEPTED0.00 s2, 3details
#250.01 s3details
#260.01 s3details
#270.01 s3details
#280.01 s3details
#290.01 s3details
#300.01 s3details
#310.01 s3details
#320.01 s3details
#330.01 s3details
#340.01 s3details
#350.01 s3details
#360.01 s3details

Code

#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m;
    cin >> n;
    cin >> m;

    if (m <= 4 || n <= 2)
    {
        if (m == 1)
        {
            for (int i = 0; i < n; i++)
            {
                cout << ".\n";
            }
            return 0;
        }

        if (m == 2)
        {
            for (int i = 0; i < n; i++)
            {
                if (i & 1)
                {
                    cout << "..\n";
                }
                else if (i & 2)
                {
                    cout << "#.\n";
                }
                else
                {
                    cout << ".#\n";
                }
            }

            return 0;
        }

        if (m == 3)
        {
            for (int i = 0; i < n; i++)
            {
                if (i & 1)
                {
                    cout << "..#\n";
                }
                else
                {
                    cout << "#..\n";
                }
            }
            return 0;
        }

        if (m == 4)
        {
            cout << "#...\n";
            for (int i = 0; i < n; i++)
            {
                if (i & 1)
                {
                    cout << ".#..\n";
                }
                else
                {
                    cout << "..#.\n";
                }
            }
        }

        if (n == 1)
        {
            for (int i = 0; i < n; i++)
            {
                cout << ".";
            }

            return 0;
        }

        if (n == 2)
        {
            for (int i = 0; i < n; i++)
            {
                if (i % 4 == 0)
                    cout << "#";
                else
                    cout << ".";
            }
            cout << "\n";
            for (int i = 0; i < n; i++)
            {
                if (i % 4 == 2)
                    cout << "#";
                else
                    cout << ".";
            }

            return 0;
        }
    }

    int type = m % 3;
    if (type == 0) type = 3;
    type--;

    int jakoja = (m - 7) / 3;
    string alku[] = {"...", "..#"};
    string osat[2][2] = {
        {".#.", "#.."},
        {"#..", ".#."}};

    string alut[3][4] = {
        {"#.....#", "..#.#..", ".#...#.", "..#.#.."},
        {".......#", ".#.#.#..", "..#...#.", "#..#.#.."},
        {"#.......#", "..#.#.#..", "#..#...#.", ".#..#.#.."}};

    cout << alut[type][0];
    for (int i = 0; i < jakoja; i++)
    {
        cout << alku[(i & 1) ? 1 : 0];
    }
    cout << "\n";

    bool lopetus = false;

    int osa = 1;
    for (int i = 1; i < m; i++)
    {
        string merkit = alut[type][osa];
        if (type == 2 && i % 4 == 0) {
            merkit = "...#...#.";
        }
        cout << merkit;

        for (int j = 0; j < jakoja; j++)
        {
            int toka = osa == 2 ? 0 : 1;
            cout << osat[toka][j & 1];
        }
        osa++;
        if (osa >= 4)
            osa -= 2;
        cout << "\n";

        //if (m - i == 3 && type == 2) {
        //    lopetus = true;
        //    break;
        //}
    }

    if (!lopetus) {
        return 0;
    }


}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
1 1

correct output
.

user output
.

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
1 2

correct output
..

user output
.#

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
1 3

correct output
...

user output
#..

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
1 4

correct output
....

user output
#...
..#.
.

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
2 1

correct output
.
.

user output
.
.

Test 6

Group: 1, 2, 3

Verdict: ACCEPTED

input
2 2

correct output
.#
..

user output
.#
..

Test 7

Group: 1, 2, 3

Verdict: ACCEPTED

input
2 3

correct output
.#.
...

user output
#..
..#

Test 8

Group: 1, 2, 3

Verdict: ACCEPTED

input
2 4

correct output
.#.#
....

user output
#...
..#.
.#..
#.
..

Test 9

Group: 1, 2, 3

Verdict: ACCEPTED

input
3 1

correct output
.
.
.

user output
.
.
.

Test 10

Group: 1, 2, 3

Verdict: ACCEPTED

input
3 2

correct output
.#
..
.#

user output
.#
..
#.

Test 11

Group: 1, 2, 3

Verdict: ACCEPTED

input
3 3

correct output
.#.
...
.#.

user output
#..
..#
#..

Test 12

Group: 1, 2, 3

Verdict: ACCEPTED

input
3 4

correct output
.#.#
....
.#.#

user output
#...
..#.
.#..
..#.
#.....#
...

Test 13

Group: 1, 2, 3

Verdict: ACCEPTED

input
4 1

correct output
.
.
.
.

user output
.
.
.
.

Test 14

Group: 1, 2, 3

Verdict: ACCEPTED

input
4 2

correct output
..
.#
..
#.

user output
.#
..
#.
..

Test 15

Group: 1, 2, 3

Verdict: ACCEPTED

input
4 3

correct output
...
.#.
..#
#..

user output
#..
..#
#..
..#

Test 16

Group: 1, 2, 3

Verdict: ACCEPTED

input
4 4

correct output
....
.#.#
..#.
#...

user output
#...
..#.
.#..
..#.
.#..
...

Test 17

Group: 2, 3

Verdict: ACCEPTED

input
999 1

correct output
.
.
.
.
.
...

user output
.
.
.
.
.
...

Test 18

Group: 2, 3

Verdict: ACCEPTED

input
999 2

correct output
.#
..
.#
..
#.
...

user output
.#
..
#.
..
.#
...

Test 19

Group: 2, 3

Verdict: ACCEPTED

input
999 3

correct output
.#.
...
.#.
..#
#..
...

user output
#..
..#
#..
..#
#..
...

Test 20

Group: 2, 3

Verdict: ACCEPTED

input
999 4

correct output
.#.#
....
.#.#
..#.
#...
...

user output
#...
..#.
.#..
..#.
.#..
...

Test 21

Group: 2, 3

Verdict: ACCEPTED

input
1000 1

correct output
.
.
.
.
.
...

user output
.
.
.
.
.
...

Test 22

Group: 2, 3

Verdict: ACCEPTED

input
1000 2

correct output
..
.#
..
#.
..
...

user output
.#
..
#.
..
.#
...

Test 23

Group: 2, 3

Verdict: ACCEPTED

input
1000 3

correct output
...
.#.
..#
#..
..#
...

user output
#..
..#
#..
..#
#..
...

Test 24

Group: 2, 3

Verdict: ACCEPTED

input
1000 4

correct output
....
.#.#
..#.
#...
..#.
...

user output
#...
..#.
.#..
..#.
.#..
...

Test 25

Group: 3

Verdict:

input
999 995

correct output
.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...

user output
.......#.....#.....#.....#.......

Test 26

Group: 3

Verdict:

input
999 996

correct output
.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...

user output
#.......#.....#.....#.....#......

Test 27

Group: 3

Verdict:

input
999 997

correct output
.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...

user output
#.....#.....#.....#.....#........

Test 28

Group: 3

Verdict:

input
999 998

correct output
.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...

user output
.......#.....#.....#.....#.......

Test 29

Group: 3

Verdict:

input
999 999

correct output
.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...

user output
#.......#.....#.....#.....#......

Test 30

Group: 3

Verdict:

input
999 1000

correct output
.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...

user output
#.....#.....#.....#.....#........

Test 31

Group: 3

Verdict:

input
1000 995

correct output
.................................

user output
.......#.....#.....#.....#.......

Test 32

Group: 3

Verdict:

input
1000 996

correct output
.................................

user output
#.......#.....#.....#.....#......

Test 33

Group: 3

Verdict:

input
1000 997

correct output
.................................

user output
#.....#.....#.....#.....#........

Test 34

Group: 3

Verdict:

input
1000 998

correct output
.................................

user output
.......#.....#.....#.....#.......

Test 35

Group: 3

Verdict:

input
1000 999

correct output
.................................

user output
#.......#.....#.....#.....#......

Test 36

Group: 3

Verdict:

input
1000 1000

correct output
.................................

user output
#.....#.....#.....#.....#........