QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#739975#8992. Light Upucup-team004AC ✓0ms3856kbC++232.2kb2024-11-13 00:07:372024-11-13 00:07:38

Judging History

This is the latest submission verdict.

  • [2024-11-13 00:07:38]
  • Judged
  • Verdict: AC
  • Time: 0ms
  • Memory: 3856kb
  • [2024-11-13 00:07:37]
  • Submitted

answer

#include <bits/stdc++.h>

using i64 = long long;
using u64 = unsigned long long;
using u32 = unsigned;
using u128 = unsigned __int128;

constexpr int dx[] = {1, 0, -1, 0};
constexpr int dy[] = {0, 1, 0, -1};

bool check(int n, auto &&s) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (std::isdigit(s[i][j])) {
                int c = 0;
                for (int k = 0; k < 4; k++) {
                    int x = i + dx[k];
                    int y = j + dy[k];
                    if (0 <= x && x < n && 0 <= y && y < n && s[x][y] == '?') {
                        c++;
                    }
                }
                if (c != s[i][j] - '0') {
                    return false;
                }
            } else if (s[i][j] == '.' || s[i][j] == '?') {
                int c = 0;
                for (int x = i - 1; x >= 0; x--) {
                    if (s[x][j] != '.') {
                        c += s[x][j] == '?';
                        break;
                    }
                }
                for (int x = i + 1; x < n; x++) {
                    if (s[x][j] != '.') {
                        c += s[x][j] == '?';
                        break;
                    }
                }
                for (int y = j - 1; y >= 0; y--) {
                    if (s[i][y] != '.') {
                        c += s[i][y] == '?';
                        break;
                    }
                }
                for (int y = j + 1; y < n; y++) {
                    if (s[i][y] != '.') {
                        c += s[i][y] == '?';
                        break;
                    }
                }
                if ((c == 0) != (s[i][j] == '?')) {
                    return false;
                }
            }
        }
    }
    return true;
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
    int n;
    std::cin >> n;
    
    std::vector<std::string> s(n);
    for (int i = 0; i < n; i++) {
        std::cin >> s[i];
    }
    
    if (check(n, s)) {
        std::cout << "1\n";
    } else {
        std::cout << "0\n";
    }
    
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3660kb

input:

7
.?.0..?
..X.1?.
.X.?.2.
.....?.
?3?..2.
.?3.X?.
..?X?..

output:

1

result:

ok single line: '1'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

7
.?.0..?
..X.1?.
.X...2.
.....?.
?3?..2.
.?3.X?.
..?X?..

output:

0

result:

ok single line: '0'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

1
?

output:

1

result:

ok single line: '1'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

1
0

output:

1

result:

ok single line: '1'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

1
1

output:

0

result:

ok single line: '0'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

2
0.
.?

output:

1

result:

ok single line: '1'

Test #7:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

2
2?
?.

output:

1

result:

ok single line: '1'

Test #8:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

3
..?
.0.
?..

output:

1

result:

ok single line: '1'

Test #9:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

3
..?
.0.
?.?

output:

0

result:

ok single line: '0'

Test #10:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

3
?..
.2.
..?

output:

0

result:

ok single line: '0'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3856kb

input:

10
.1?20.1?3?
?22?2?.3?.
.?211..?21
..?2?2?2.?
.01..02.?3
...?2.?.3?
1.?3?12.?.
?.10.1?.11
2?......2?
...?.00.?2

output:

1

result:

ok single line: '1'

Test #12:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

20
.....?10..2?.2?3?...
0..?...1..?3.?3?....
.?.1...?..2?21...?..
?3?2?2?2....?..00.?.
..1.......?12?....1.
0......?............
.?..0.0..?...01?.2?.
.....?.2?2.......?..
?1.....?.0...?......
...?1.......?4?..1..
.?....1.0....?3..?2.
1.?2?2?2.?..0.?2?3?.
?...2.2?..01.......?
1.01?.1....?........
......

output:

1

result:

ok single line: '1'

Test #13:

score: 0
Accepted
time: 0ms
memory: 3576kb

input:

30
.?....0.0..........?..........
?2.?.....0........?2...?....0.
.......?...............2...?..
0..1?1...0.?....1?...0.?..01..
............?..............1.?
0.?.........2...........?.1?..
...1..?....1?.....1..?........
...?3?3...........?.0.?...0...
.?13?3?.............0....?...0
.21?..1..?3?1...?....

output:

1

result:

ok single line: '1'

Test #14:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

30
?.............................
.?............................
..?...........................
...?..........................
....?.........................
.....?........................
......?.......................
.......?......................
........?.....................
.........?...........

output:

1

result:

ok single line: '1'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

30
X?X?X?X?X?X?X?X?X?X?X?X?X?X?X?
?X?X?X?X?X?X?X?X?X?X?X?X?X?X?X
X?X?X?X?X?X?X?X?X?X?X?X?X?X?X?
?X?X?X?X?X?X?X?X?X?X?X?X?X?X?X
X?X?X?X?X?X?X?X?X?X?X?X?X?X?X?
?X?X?X?X?X?X?X?X?X?X?X?X?X?X?X
X?X?X?X?X?X?X?X?X?X?X?X?X?X?X?
?X?X?X?X?X?X?X?X?X?X?X?X?X?X?X
X?X?X?X?X?X?X?X?X?X?X?X?X?X?X?
?X?X?X?X?X?X?X?X?X...

output:

1

result:

ok single line: '1'

Test #16:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

30
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000
000000000000000000...

output:

1

result:

ok single line: '1'

Test #17:

score: 0
Accepted
time: 0ms
memory: 3564kb

input:

3
.?.
?4?
.?.

output:

1

result:

ok single line: '1'

Test #18:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

19
XXXXXXXXX?XXX?XXX?X
X0XXX1?XX2XX?3XX?4?
XXXXXXXXX?XXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXX?XXXXXXX?XXX?X
X0XXX1XX?2XX?3?X?4?
XXXXXXXXX?XXXXXXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX?X
X0XX?1XX?2?X?3?X?4?
XXXXXXXXXXXXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX?XXX?X
X0XXX1XXX2?XX3?X?4?
XXXXX?XXX?XXX?XXX...

output:

1

result:

ok single line: '1'

Test #19:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

19
XXXXXXXXX?XXX?XXX?X
X0XXX1?XX2XX?3XX?4?
XXXXXXXXX?XXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXX?XXXXXXX?XXX?X
X0XXX1XX?2XX?3?X?4?
XXXXXXXXX?XXXXXXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX?X
X0XX?1XX?2?X?3?X?4?
XXXXX?XXXXXXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX?XXX?X
X0XXX1XXX2?XX3?X?4?
XXXXX?XXX?XXX?XXX...

output:

0

result:

ok single line: '0'

Test #20:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

19
XXXXXXXXX?XXX?XXX?X
X0XXX1?XX2XX?3XX?4?
XXXXXXXXX?XXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXX?XXXXXXX?XXX?X
X0XXX1XX?2XX?3?X?4?
XXXXXXXXX?XXXXXXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX?X
X0XX?1XX?2?X?3?X?4?
XXXXXXXXXXXXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX?XXX?X
X0XXX1XXX2XXX3?X?4?
XXXXX?XXX?XXX?XXX...

output:

0

result:

ok single line: '0'

Test #21:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

19
XXXXXXXXX?XXX?XXX?X
X0XXX1?XX2XX?3XX?4?
XXXXXXXXX?XXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXX?XXXXXXX?XXX?X
X0XXX1XX?2XX?3?X?4?
XXXXXXXXX?XXXXXXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX?X
X0XX?1XX?2?X?3?X?4?
XXXXXXXXXXXXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX?XXX?X
X0XXX1XXX2?XX3?X?4?
XXXXX?XXX?XXX?XXX...

output:

0

result:

ok single line: '0'

Test #22:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

19
XXXXXXXXX?XXX?XXX?X
X0XXX1?XX2XX?3XX?4?
XXXXXXXXX?XXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXX?XXXXXXX?XXX?X
X0XXX1XX?2XX?3?X?4?
XXXXXXXXX?XXXXXXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX?X
X0XX?1XX?2?X?3?X?4?
XXXXXXXXXXXXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX?XXX?X
X0XXX1XXX2?XX3?X?4?
XXXXX?XXX?XXX?XXX...

output:

0

result:

ok single line: '0'

Test #23:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

19
XXXXXXXXX?XXX?XXX?X
X0XXX1?XX2XX?3XX?4?
X?XXXXXXX?XXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXX?XXXXXXX?XXX?X
X0XXX1XX?2XX?3?X?4?
XXXXXXXXX?XXXXXXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX?X
X0XX?1XX?2?X?3?X?4?
XXXXXXXXXXXXX?XXX?X
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX?XXX?X
X0XXX1XXX2?XX3?X?4?
XXXXX?XXX?XXX?XXX...

output:

0

result:

ok single line: '0'