CSES - Datatähti 2023 loppu - Results
Submission details
Task:Ruudukko
Sender:UpHereNorth
Submission time:2023-01-21 16:55:21 +0200
Language:C++17
Status:READY
Result:11
Feedback
groupverdictscore
#1ACCEPTED11
#20
#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
#200.00 s2, 3details
#21ACCEPTED0.00 s2, 3details
#22ACCEPTED0.00 s2, 3details
#23ACCEPTED0.00 s2, 3details
#240.00 s2, 3details
#250.00 s3details
#260.00 s3details
#270.00 s3details
#280.00 s3details
#290.00 s3details
#300.00 s3details
#310.00 s3details
#320.00 s3details
#330.00 s3details
#340.00 s3details
#350.00 s3details
#360.00 s3details

Compiler report

input/code.cpp: In function 'void second_case(int, int)':
input/code.cpp:110:9: warning: statement has no effect [-Wunused-value]
  110 |         1;
      |         ^
input/code.cpp: In function 'int main()':
input/code.cpp:180:9: warning: statement has no effect [-Wunused-value]
  180 |         5;
      |         ^

Code

#include <bits/stdc++.h>

using namespace std;
using ll = long long;


/*
1 1
.
1 2
..
2 2
..
#.

2 3
.#.
...

2 4
.#.#
....

3 4
.#.#
....
.#.#

4 4
.#.#
....
#.#.
...#

3 4
.#..
..#.
#...

4 3
..#
#..
..#
#..

4 4
..#.
#...
.#.#
....

#.# .#.
... ...
#.# .#.

->
#.#.#.
......
#.#.#.

okay, n <= 1000,  m <= 4
m == 1 triv
m == 2:
.#...
...#.. and so on....

m == 3:
.#.#.#
...... and so on...
.#.#.#

m == 4:
..#. #..# 
#... ..#. 
..#. #... 
#..# ..#. 

*/

vector<string> m41 = {
    "#.#.",
    "....",
    ".#.#",
    "#..."
};

vector<string> m42 = {
    ".#.#",
    "....",
    "#.#.",
    "...#"
};


void print_ans(vector<vector<char>> ans){
    for(auto row : ans){
        for(char c : row){
            cout << (c ? "#" : ".");
        }
        cout << "\n";
    }
}


void second_case(int n, int m){

    vector<vector<char>> ans(n, vector<char> (m));

    if(m==1){
        1;
    }
    if(m==2){
        for(int i = 0; i < n; ++i){
            if(i%4 == 1)ans[i][0]=1;
            if(i%4 == 3)ans[i][1]=1;
        }
    }
    if(m==3){
        for(int i = 0; i < n; ++i){
            if(i%2)ans[i][0]=ans[i][2]=1;
        }
    }
    if(m==4){
        for(int i = 0; i < n; i+=8){
            for(int j = 0; j < 4; ++j){
                for(int k = 0; k < 4; ++k){
                    ans[i+j][k] = m41[j][k];
                }
            }
            for(int j = 0; j < 4; ++j){
                for(int k = 0; k < 4; ++k){
                    ans[i+j+4][k] = m42[j][k];
                }
            }
        }

        int left = n%8;
        if(left >= 4){
            for(int j = 0; j < 4; ++j){
                for(int k = 0; k < 4; ++k){
                    ans[n-left+j][k] = m41[j][k];
                }
            }
            left -= 4;

            if(left == 1){
                ans[n-1][2] = 1;
            }
            if(left == 2){
                ans[n-2][2] = 1;
                ans[n-1][1] = 1;
            }
            if(left == 3){
                
            }

        }

        

    }

    print_ans(ans);
}


int main(){


    int n, m;
    cin >> n >> m;
    
    if(max(n,m) > 4){
        if(m<=4)second_case(n, m);
        return 0;
    }

    vector<vector<char>> ans(n, vector<char> (m));
    if(n==1){
        5;
    }

    else if(n != 4 && m > 2){
        for(int i = 0; i < n; ++i){
            for(int j = 0; j < m; ++j){
                if(i%2 == 0 && j%2)ans[i][j]=1;
            }
        }
    }

    else if(m==2){
        for(int i = 0; i < n; ++i){
            ans[i][1] = i%2;
        }
    }

    else if(n==4 && m==3){
        for(int i = 0; i < n; ++i){
            for(int j = 0; j < m; ++j){
                if(i%2==0){
                    if(j==2)ans[i][j]=1;
                }
                else{
                    if(j==0)ans[i][j]=1;
                }
            }
        }
    }

    if(n==4 && m == 4){
        ans[0][2] = ans[1][0] = ans[2][1] = ans[2][3] = 1;
    }

    print_ans(ans);








}

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:

input
999 4

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

user output
(empty)

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:

input
1000 4

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

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

Test 25

Group: 3

Verdict:

input
999 995

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

user output
(empty)

Test 26

Group: 3

Verdict:

input
999 996

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

user output
(empty)

Test 27

Group: 3

Verdict:

input
999 997

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

user output
(empty)

Test 28

Group: 3

Verdict:

input
999 998

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

user output
(empty)

Test 29

Group: 3

Verdict:

input
999 999

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

user output
(empty)

Test 30

Group: 3

Verdict:

input
999 1000

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

user output
(empty)

Test 31

Group: 3

Verdict:

input
1000 995

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

user output
(empty)

Test 32

Group: 3

Verdict:

input
1000 996

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

user output
(empty)

Test 33

Group: 3

Verdict:

input
1000 997

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

user output
(empty)

Test 34

Group: 3

Verdict:

input
1000 998

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

user output
(empty)

Test 35

Group: 3

Verdict:

input
1000 999

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

user output
(empty)

Test 36

Group: 3

Verdict:

input
1000 1000

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

user output
(empty)