QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#475577 | #9114. Black or White 2 | ucup-team3678# | AC ✓ | 292ms | 12756kb | C++14 | 2.8kb | 2024-07-13 15:39:00 | 2024-07-13 15:39:01 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1505;
int a[N][N];
int Solve(int n, int m, int k) {
if (!k) {
return 1;
}
if (k == n * m) {
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) a[i][j] = 1;
}
return 1;
}
if (k <= ((n + 1) >> 1) * ((m + 1) >> 1)) {
for (int i = 1; i <= n; i += 2) {
for (int j = 1; j <= m; j += 2) {
if (k) {
a[i][j] = 1;
--k;
}
}
}
return 1;
}
for (int i = 1; i + 1 < n && i * m + (m >> 1) <= k; ++i) {
int tk = k - i * m - (m >> 1);
if ((((n - i - 2) + 1) >> 1) * ((m + 1) >> 1) >= tk) {
for (int j = 1; j <= i; ++j) {
for (int k = 1; k <= m; ++k) a[j][k] = 1;
}
for (int k = 2; k <= m; k += 2) a[i + 1][k] = 1;
for (int j = i + 3; j <= n; j += 2) {
for (int k = 1; k <= m; k += 2) {
if (tk) {
a[j][k] = 1;
--tk;
}
}
}
return 1;
}
}
return 0;
}
int solve(int n, int m, int k) {
if (Solve(n, m, k)) return 1;
if (Solve(n, m, n * m - k)) {
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) a[i][j] ^= 1;
}
return 1;
}
return 0;
}
signed main() {
int T; scanf("%d", &T);
while (T--) {
int n, m, k; scanf("%d%d%d", &n, &m, &k);
if (n == 2 && m == 2 && k == 2) {
puts("00");
puts("11");
continue;
}
if (n == 4 && m == 4 && k == 5) {
puts("1110");
puts("0100");
puts("0000");
puts("0001");
continue;
}
if (n == 4 && m == 4 && k == 11) {
puts("0001");
puts("1011");
puts("1111");
puts("1110");
continue;
}
for (int i = 1; i <= max(n, m); ++i) {
for (int j = 1; j <= max(n, m); ++j) a[i][j] = 0;
}
if (!solve(n, m, k)) {
if (solve(m, n, k)) {
for (int i = 1; i <= max(n, m); ++i) {
for (int j = i + 1; j <= max(n, m); ++j) {
swap(a[i][j], a[j][i]);
}
}
} else {
puts("WA!");
}
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
printf("%d", a[i][j]);
}
puts("");
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3800kb
input:
2 2 2 2 2 3 0
output:
00 11 000 000
result:
ok Output is valid. OK.
Test #2:
score: 0
Accepted
time: 155ms
memory: 3844kb
input:
27520 2 2 0 2 2 1 2 2 2 2 2 3 2 2 4 2 3 0 2 3 1 2 3 2 2 3 3 2 3 4 2 3 5 2 3 6 3 2 0 3 2 1 3 2 2 3 2 3 3 2 4 3 2 5 3 2 6 3 3 0 3 3 1 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 3 3 8 3 3 9 2 4 0 2 4 1 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 2 4 7 2 4 8 3 4 0 3 4 1 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10...
output:
00 00 10 00 00 11 01 11 11 11 000 000 100 000 101 000 100 110 010 111 011 111 111 111 00 00 00 10 00 00 10 00 10 11 01 00 01 11 01 01 11 11 11 11 11 000 000 000 100 000 000 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 011 111 111 111 111 111 0000 0000 1000 0000 1010 0000 1...
result:
ok Output is valid. OK.
Test #3:
score: 0
Accepted
time: 136ms
memory: 12368kb
input:
162 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9 ...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #4:
score: 0
Accepted
time: 140ms
memory: 12560kb
input:
163 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9 ...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #5:
score: 0
Accepted
time: 141ms
memory: 12580kb
input:
165 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9 ...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #6:
score: 0
Accepted
time: 291ms
memory: 12756kb
input:
1020 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #7:
score: 0
Accepted
time: 292ms
memory: 12688kb
input:
1012 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #8:
score: 0
Accepted
time: 272ms
memory: 12580kb
input:
1033 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #9:
score: 0
Accepted
time: 167ms
memory: 3900kb
input:
100000 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #10:
score: 0
Accepted
time: 67ms
memory: 3924kb
input:
100000 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #11:
score: 0
Accepted
time: 67ms
memory: 3904kb
input:
100000 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4...
output:
00 11 101 000 100 110 010 111 10 00 10 11 01 00 01 11 01 101 000 000 101 000 100 101 000 101 010 111 010 010 111 011 010 111 111 1010 0000 1000 1100 1001 1100 1100 1110 0101 1111 1010 0000 0000 1010 0000 1000 1010 0000 1010 1001 1100 1000 1111 0101 0000 1100 1110 1100 0101 1111 0101 0101 1111 0111 0...
result:
ok Output is valid. OK.
Test #12:
score: 0
Accepted
time: 139ms
memory: 12684kb
input:
3 1500 1500 2250000 1322 1322 1747684 1158 2 2316
output:
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok Output is valid. OK.
Test #13:
score: 0
Accepted
time: 136ms
memory: 12680kb
input:
3 1500 1500 1125000 1322 1322 873842 1158 2 1158
output:
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok Output is valid. OK.
Extra Test:
score: 0
Extra Test Passed