Task: | Grid |
Sender: | El Numero Uno |
Submission time: | 2018-05-26 12:55:29 +0300 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.01 s | details |
#2 | ACCEPTED | 0.02 s | details |
#3 | ACCEPTED | 0.01 s | details |
#4 | WRONG ANSWER | 0.01 s | details |
#5 | ACCEPTED | 0.02 s | details |
#6 | ACCEPTED | 0.01 s | details |
#7 | ACCEPTED | 0.01 s | details |
#8 | ACCEPTED | 0.01 s | details |
#9 | ACCEPTED | 0.01 s | details |
#10 | ACCEPTED | 0.01 s | details |
#11 | ACCEPTED | 0.01 s | details |
#12 | ACCEPTED | 0.01 s | details |
#13 | ACCEPTED | 0.01 s | details |
#14 | ACCEPTED | 0.01 s | details |
#15 | ACCEPTED | 0.01 s | details |
#16 | ACCEPTED | 0.01 s | details |
#17 | ACCEPTED | 0.06 s | details |
#18 | ACCEPTED | 0.06 s | details |
#19 | ACCEPTED | 0.07 s | details |
#20 | ACCEPTED | 0.06 s | details |
#21 | ACCEPTED | 0.07 s | details |
#22 | ACCEPTED | 0.06 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:35:14: warning: unused variable 'colMatch' [-Wunused-variable] bool colMatch = (row == cols[0]); ^~~~~~~~ input/code.cpp:30:13: warning: 'isRow' may be used uninitialized in this function [-Wmaybe-uninitialized] rows[0] = isRow; ~~~~~~~~^~~~~~~
Code
#include <iostream> #include "stdio.h" #include <array> using namespace std; int main() { int n; cin >> n; char c; bool v, cols[n + 2], rows[n + 2]; //array<bool, n> cols; //array<bool, n> rows; bool row; bool isRow; for (int x = 0; x < n; x++) { cin >> c; v = (c == 49); cols[x] = v; if (x == 0) { row = v; isRow = row; } else { if (v != row) { isRow = 0; } } } rows[0] = isRow; for (int y = 1; y < n; y++) { cin >> c; bool row = (c == 49); bool isRow = row; bool colMatch = (row == cols[0]); bool X[n + 1]; X[0] = row; if (cols[0] && (c == 49) != cols[0]) { cols[0] = 0; } for (int x = 1; x < n; x++) { cin >> c; v = (c == 49); X[x] = v; if (v != row) { isRow = 0; } if (cols[x] && v != cols[x]) { cols[x] = 0; } } if (!isRow) { for (int x = 0; x < n; x++) { //printf("%i, %i\n", cols[x], X[x]); if (X[x] != cols[x]) { printf("-1\n"); return 0; } } } rows[y] = isRow; } int sx = 0, sy = 0; for (int x = 0; x < n; x++) { sx += cols[x]; sy += rows[x]; } if (sx == n || sy == n) { printf("%i\n", n); } else { printf("%i\n", sx + sy); } return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 0 |
correct output |
---|
0 |
user output |
---|
0 |
Test 2
Verdict: ACCEPTED
input |
---|
1 1 |
correct output |
---|
1 |
user output |
---|
1 |
Test 3
Verdict: ACCEPTED
input |
---|
2 00 00 |
correct output |
---|
0 |
user output |
---|
0 |
Test 4
Verdict: WRONG ANSWER
input |
---|
2 10 00 |
correct output |
---|
-1 |
user output |
---|
0 |
Test 5
Verdict: ACCEPTED
input |
---|
2 11 00 |
correct output |
---|
1 |
user output |
---|
1 |
Test 6
Verdict: ACCEPTED
input |
---|
2 11 01 |
correct output |
---|
2 |
user output |
---|
2 |
Test 7
Verdict: ACCEPTED
input |
---|
2 11 11 |
correct output |
---|
2 |
user output |
---|
2 |
Test 8
Verdict: ACCEPTED
input |
---|
3 000 000 000 |
correct output |
---|
0 |
user output |
---|
0 |
Test 9
Verdict: ACCEPTED
input |
---|
3 100 100 100 |
correct output |
---|
1 |
user output |
---|
1 |
Test 10
Verdict: ACCEPTED
input |
---|
3 101 101 101 |
correct output |
---|
2 |
user output |
---|
2 |
Test 11
Verdict: ACCEPTED
input |
---|
3 111 101 101 |
correct output |
---|
3 |
user output |
---|
3 |
Test 12
Verdict: ACCEPTED
input |
---|
3 111 000 000 |
correct output |
---|
1 |
user output |
---|
1 |
Test 13
Verdict: ACCEPTED
input |
---|
3 111 000 111 |
correct output |
---|
2 |
user output |
---|
2 |
Test 14
Verdict: ACCEPTED
input |
---|
3 111 100 111 |
correct output |
---|
3 |
user output |
---|
3 |
Test 15
Verdict: ACCEPTED
input |
---|
3 111 101 111 |
correct output |
---|
4 |
user output |
---|
4 |
Test 16
Verdict: ACCEPTED
input |
---|
3 111 111 111 |
correct output |
---|
3 |
user output |
---|
3 |
Test 17
Verdict: ACCEPTED
input |
---|
1000 000000000000000000000000000000... |
correct output |
---|
0 |
user output |
---|
0 |
Test 18
Verdict: ACCEPTED
input |
---|
1000 000000000000000000000000000000... |
correct output |
---|
10 |
user output |
---|
10 |
Test 19
Verdict: ACCEPTED
input |
---|
1000 100000000000000000100000000000... |
correct output |
---|
41 |
user output |
---|
41 |
Test 20
Verdict: ACCEPTED
input |
---|
1000 000000100000000001000000010000... |
correct output |
---|
192 |
user output |
---|
192 |
Test 21
Verdict: ACCEPTED
input |
---|
1000 111111111111111111111111111111... |
correct output |
---|
999 |
user output |
---|
999 |
Test 22
Verdict: ACCEPTED
input |
---|
1000 111111111111111111111111111111... |
correct output |
---|
1000 |
user output |
---|
1000 |