QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#447616 | #4632. Card Shark | zlxFTH | WA | 25ms | 50272kb | C++14 | 1.5kb | 2024-06-18 17:17:37 | 2024-06-18 17:17:38 |
Judging History
answer
#include <algorithm>
#include <cstdlib>
#include <iostream>
#include <vector>
using std::cin;
const int N = 1e6 + 5;
void shutd() {
std::cout << -1 << "\n";
exit(0);
}
int tp;
int deg[N], cur[N], st[N];
std::vector<int> G[N];
void add(int u, int v) {
G[u].emplace_back(v);
deg[u]--;
deg[v]++;
}
void dfs(int u) {
for (int &i = cur[u]; i < G[u].size();) {
int v = G[u][i++];
dfs(v);
}
st[++tp] = u;
}
int main() {
std::ios::sync_with_stdio(0);
cin.tie(0);
int n, m, b;
cin >> n >> m >> b;
for (int i = 0; i < n; ++i) {
std::string s;
cin >> s;
auto p = std::find(s.begin(), s.end(), '1');
int u = p - s.begin();
if (u >= m) shutd();
add(n + u, i);
while (1) {
auto q = std::find(p + 1, s.end(), '1');
if (q == s.end()) break;
if (q - p - 1 != m - 1) shutd();
p = q;
}
int v = s.end() - p - 1;
if (v >= m) shutd();
add(i, n + m + v);
}
int tot = n + 2 * m + 2, s = tot - 2, t = tot - 1;
add(s, n + b - 1);
add(n + m + m - b, t);
for (int i = 0; i < m; ++i) {
for (int j = 0, num = deg[n + m + i]; j < num; ++j) {
add(n + m + i, n + m - i - 1);
}
}
for (int i = 0; i < tot - 2; ++i) {
if (deg[i]) shutd();
std::sort(G[i].begin(), G[i].end());
}
dfs(s);
while (tp) {
int u = st[tp--];
if (u < n) std::cout << u + 1 << " ";
}
std::cout << "\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 30908kb
input:
5 4 3 0100010 00100 001000100 0010 0100010
output:
2 1 3 5 4
result:
ok single line: '2 1 3 5 4 '
Test #2:
score: 0
Accepted
time: 4ms
memory: 31028kb
input:
4 2 1 010 10101 010 10101
output:
2 1 4 3
result:
ok single line: '2 1 4 3 '
Test #3:
score: 0
Accepted
time: 0ms
memory: 30412kb
input:
1 5 3 001000010000100
output:
1
result:
ok single line: '1 '
Test #4:
score: 0
Accepted
time: 9ms
memory: 29460kb
input:
2 5 3 01000 00010
output:
-1
result:
ok single line: '-1'
Test #5:
score: 0
Accepted
time: 4ms
memory: 29152kb
input:
1 5 3 11111
output:
-1
result:
ok single line: '-1'
Test #6:
score: 0
Accepted
time: 4ms
memory: 31016kb
input:
10 5 3 000010000100 0001000010000100001 000100 00010 00010000100 0010 00001000010000100001000010 00010 001 001000010
output:
6 2 1 9 7 3 10 4 8 5
result:
ok single line: '6 2 1 9 7 3 10 4 8 5 '
Test #7:
score: 0
Accepted
time: 0ms
memory: 29864kb
input:
1000 5 4 010000100 00100 001000 00010000100001000 0010000100 100 00001000010000 000010 00010000100001000010 01000010000100 100 0000100 1 00010000 0010 0001 10000100 00001000 1 000100 0000100001 000010000100001000 00100001 010 00100001000010000100 0000100001 010 00100001000010000100001 0000100001 001...
output:
4 1 2 3 10 5 15 9 14 6 23 7 11 25 28 8 16 12 30 31 13 18 24 20 39 27 34 36 37 21 22 35 47 52 26 29 40 43 44 53 38 17 56 19 42 58 59 60 32 33 57 48 45 65 50 54 71 63 74 41 64 51 73 79 75 80 81 90 62 68 46 70 67 99 87 100 69 108 72 97 76 77 82 83 86 88 49 93 94 98 103 55 101 61 102 106 104 109 105 112...
result:
ok single line: '4 1 2 3 10 5 15 9 14 6 23 7 11...88 984 989 992 994 991 999 998 '
Test #8:
score: 0
Accepted
time: 4ms
memory: 30120kb
input:
1000 5 2 0001000010000100001 00100001 000010 0010000 000100001000 100001000010000100001000010000 010000100001 00010 1000010000100001000 010 010000100001000010 001000 1000010000 000010000100001000 10000 10000100 01000 100001000010 00100 00100 000010000 1000010000100001000010000100001 100 100001000010...
output:
-1
result:
ok single line: '-1'
Test #9:
score: 0
Accepted
time: 25ms
memory: 50272kb
input:
100000 5 2 1000010000 1000010 0010000100001 00100 01000010000100001 00010000 10000100 010000 001 010 1000010000 000010000 0000100001000 00100001000 010 1000 10000100 0100 1000 00001000010 01000010000 1 01 001000010000 0000100001 00100001000010 00010000100001 010 0010000100001000010 0010000100 00001 ...
output:
5 12 1 2 6 7 3 13 8 11 16 10 27 20 38 25 31 32 4 9 33 15 50 14 18 24 17 26 56 61 21 19 23 34 22 39 29 69 28 79 30 35 108 37 51 55 57 70 41 111 36 72 47 113 73 42 76 78 40 120 46 48 43 49 52 124 80 81 44 128 83 62 53 64 45 135 66 58 85 137 59 54 60 74 77 140 63 86 67 84 96 98 65 88 99 68 101 90 71 10...
result:
ok single line: '5 12 1 2 6 7 3 13 8 11 16 10 2... 99986 99995 99999 99989 99994 '
Test #10:
score: 0
Accepted
time: 0ms
memory: 29680kb
input:
5 10 4 000010000000001000000 0100000 00000100000000 0001000000000100000000010000000001 000000000100000000010000
output:
4 5 3 2 1
result:
ok single line: '4 5 3 2 1 '
Test #11:
score: 0
Accepted
time: 9ms
memory: 30796kb
input:
5 1000 581 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
4 5 2 1 3
result:
ok single line: '4 5 2 1 3 '
Test #12:
score: 0
Accepted
time: 7ms
memory: 31064kb
input:
5 1000 406 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
-1
result:
ok single line: '-1'
Test #13:
score: 0
Accepted
time: 3ms
memory: 30448kb
input:
5 100000 91799 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
3 4 1 5 2
result:
ok single line: '3 4 1 5 2 '
Test #14:
score: 0
Accepted
time: 0ms
memory: 30156kb
input:
10 20 17 000000000010000000000000000000100000000000000000001000000000000000000010000000000000000000100000000000000000001000000000000000000010000000000000000000100000000000000000001000000000000 0000000000001000 00000000000000001000000000000000000 000000000001000 100000000 0100000000000000000001000000...
output:
3 6 8 1 10 2 9 5 7 4
result:
ok single line: '3 6 8 1 10 2 9 5 7 4 '
Test #15:
score: 0
Accepted
time: 0ms
memory: 30720kb
input:
100 200 114 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000010000...
output:
6 10 5 25 33 97 8 100 26 54 38 71 2 72 29 11 53 21 75 42 61 27 31 64 94 68 52 55 79 13 30 22 49 77 63 15 99 60 4 80 7 95 56 39 36 41 1 73 37 19 66 12 35 14 51 40 47 67 50 85 82 83 88 43 16 9 34 96 18 81 90 93 23 24 57 28 89 91 76 48 70 45 86 3 74 62 20 44 59 78 69 84 46 92 32 17 98 87 65 58
result:
ok single line: '6 10 5 25 33 97 8 100 26 54 38... 69 84 46 92 32 17 98 87 65 58 '
Test #16:
score: 0
Accepted
time: 9ms
memory: 29968kb
input:
100 200 180 000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000...
output:
-1
result:
ok single line: '-1'
Test #17:
score: 0
Accepted
time: 0ms
memory: 29588kb
input:
1000 300 218 00000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
253 63 468 10 102 4 7 419 276 14 74 268 54 40 25 540 513 46 267 332 479 483 547 421 158 246 11 201 343 283 17 310 87 56 216 462 68 349 64 338 12 348 167 171 195 127 48 263 917 178 164 181 71 204 320 551 938 194 548 104 315 527 78 232 451 19 520 218 264 394 139 62 190 186 149 165 124 588 711 53 119 2...
result:
ok single line: '253 63 468 10 102 4 7 419 276 ...58 845 978 913 955 986 665 901 '
Test #18:
score: 0
Accepted
time: 4ms
memory: 29196kb
input:
100 5 2 0001000 01 000010000 00010000 10 00010 0100 00100 00010000 10000 00010 00001 0010 01000 100 10 000100 0100 010000 00010 00001000 01 100 00010 1000 0100 00010000 00001000 00001000 01000 0010000 01 01000 0010 010 001000 1 001000 00010 010000 001000 001000 10 010000 00100 0010000 010000 00010 0...
output:
2 3 5 1 7 8 13 4 10 15 31 16 6 9 23 34 11 17 36 14 18 38 19 25 22 12 21 26 41 30 32 28 33 35 20 24 27 37 29 40 43 39 48 49 50 54 42 44 52 47 55 45 46 59 56 61 62 51 53 63 72 57 58 66 64 69 79 60 89 70 71 65 75 76 77 78 82 67 91 83 87 68 81 73 74 88 95 92 84 86 80 94 90 93 99 85 96 97 98 100
result:
ok single line: '2 3 5 1 7 8 13 4 10 15 31 16 6...80 94 90 93 99 85 96 97 98 100 '
Test #19:
score: -100
Wrong Answer
time: 5ms
memory: 29468kb
input:
100 5 2 00100 1 10000 000100 000100 00100 00010 00010 000100 0010 00100 000100 00001000 000100 00010 000100 01 00100 00010 00010 00100 000100 010000 00100 01000 00010 00010 00100 1000 000100 000100 00010 000100 000100 00010 000100 0010 00100 00010 0010 00100 00010 0010 00100 00010 0010 000100 000100...
output:
17 13 23 2 59 3 29 25 62 65 97 84 95 85 72 86
result:
wrong answer 1st lines differ - expected: '-1', found: '17 13 23 2 59 3 29 25 62 65 97 84 95 85 72 86 '