Submission details
Task:Ruudukko
Sender:sharph2
Submission time:2025-11-28 21:38:35 +0200
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED16
#2ACCEPTED42
#3ACCEPTED42
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2, 3details
#2ACCEPTED0.05 s2, 3details
#3ACCEPTED0.04 s2, 3details
#4ACCEPTED0.18 s3details
#5ACCEPTED0.16 s3details

Code

#include <climits>
#include <cstdint>
#include <iostream>
#include <map>
#include <vector>

using namespace std;

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

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

    vector<bool> kaannot((n + 1) * (n + 1));

    auto kaanna = [&](int i, int j) {
        int p = (n + 1) * i + j;
        kaannot[p] = !kaannot[p];
    };

    for(int i = 0; i < m; ++i) {
        int i1, j1, i2, j2;
        cin >> i1 >> j1 >> i2 >> j2;
        --i1;
        --j1;
        kaanna(i1, j1);
        kaanna(i1, j2);
        kaanna(i2, j1);
        kaanna(i2, j2);
    }

    vector<bool> tulos(n * n);
    for(int i = 0; i < n; ++i) {
        bool riviArvo = false;
        for(int j = 0; j < n; ++j) {
            if(kaannot[(n + 1) * i + j]) {
                riviArvo = !riviArvo;
            }
            bool arvo = riviArvo;
            if(i > 0 && tulos[n * (i - 1) + j]) {
                arvo = !arvo;
            }
            tulos[n * i + j] = arvo;
        }
    }

    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < n; ++j) {
            cout << (tulos[n * i + j] ? '#' : '.');
        }
        cout << "\n";
    }

    return 0;
}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
10 100
6 7 8 9
2 6 7 10
7 5 9 6
6 1 6 2
...

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

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

Test 2

Group: 2, 3

Verdict: ACCEPTED

input
500 100000
133 109 167 178
204 337 481 477
242 476 445 485
452 198 460 321
...

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

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

Test 3

Group: 2, 3

Verdict: ACCEPTED

input
500 100000
33 7 485 482
50 38 456 459
34 20 479 493
13 6 479 485
...

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

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

Test 4

Group: 3

Verdict: ACCEPTED

input
2000 100000
126 95 1489 1619
1473 29 1697 78
1290 1031 1588 1047
1209 1794 1546 1818
...

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

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

Test 5

Group: 3

Verdict: ACCEPTED

input
2000 100000
55 51 1842 1905
47 60 1997 1890
117 45 1920 1840
48 175 1987 1852
...

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

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