Task: | Piiri |
Sender: | vgtcross |
Submission time: | 2025-01-18 13:50:19 +0200 |
Language: | C++ (C++20) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 14 |
#2 | ACCEPTED | 12 |
#3 | ACCEPTED | 26 |
#4 | ACCEPTED | 48 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.02 s | 1, 2, 4 | details |
#2 | ACCEPTED | 0.02 s | 1, 2, 4 | details |
#3 | ACCEPTED | 0.02 s | 1, 2, 4 | details |
#4 | ACCEPTED | 0.01 s | 1, 2, 4 | details |
#5 | ACCEPTED | 0.02 s | 1, 2, 4 | details |
#6 | ACCEPTED | 0.02 s | 1, 2, 4 | details |
#7 | ACCEPTED | 0.01 s | 1, 2, 4 | details |
#8 | ACCEPTED | 0.01 s | 1, 2, 4 | details |
#9 | ACCEPTED | 0.02 s | 1, 2, 4 | details |
#10 | ACCEPTED | 0.01 s | 2, 4 | details |
#11 | ACCEPTED | 0.01 s | 2, 4 | details |
#12 | ACCEPTED | 0.02 s | 2, 4 | details |
#13 | ACCEPTED | 0.01 s | 2, 4 | details |
#14 | ACCEPTED | 0.02 s | 2, 4 | details |
#15 | ACCEPTED | 0.02 s | 2, 4 | details |
#16 | ACCEPTED | 0.02 s | 2, 4 | details |
#17 | ACCEPTED | 0.04 s | 3 | details |
#18 | ACCEPTED | 0.04 s | 3 | details |
#19 | ACCEPTED | 0.03 s | 3 | details |
#20 | ACCEPTED | 0.02 s | 3 | details |
#21 | ACCEPTED | 0.01 s | 3 | details |
#22 | ACCEPTED | 0.11 s | 4 | details |
#23 | ACCEPTED | 0.08 s | 4 | details |
#24 | ACCEPTED | 0.07 s | 4 | details |
#25 | ACCEPTED | 0.11 s | 4 | details |
#26 | ACCEPTED | 0.03 s | 4 | details |
#27 | ACCEPTED | 0.04 s | 4 | details |
#28 | ACCEPTED | 0.06 s | 4 | details |
Code
#include <bits/stdc++.h> #define debug(x) cout << #x << ": " << x << endl #define fi first #define se second #define all(x) begin(x),end(x) #define rall(x) rbegin(x),rend(x) using namespace std; using ll = long long; string ask(string s) { cout << "? " << s << endl; string t; cin >> t; return t; } void find_fail(string s, string p) { if (count(all(s), '1') < count(all(p), '1')) { int j = 0; while (true) { while (s[j] == '1') ++j; s[j] = '1'; string t = ask(s); if (t == p) { cout << "YES\n"; cout << s << '\n'; s[j] = '0'; cout << s << endl; return; } p = t; ++j; } } else { int j = 0; while (true) { while (s[j] == '0') ++j; s[j] = '0'; string t = ask(s); if (t == p) { cout << "YES\n"; cout << s << '\n'; s[j] = '1'; cout << s << endl; return; } p = t; ++j; } } } void solve() { int n, m; cin >> n >> m; string s(n, '0'); vector<int> v(m, -1); for (int i = 0; i < n; ++i) { s[i] = '1'; string t = ask(s); if (count(all(t), '1') != 1) { find_fail(s, t); return; } int j = t.find('1'); if (v[j] != -1) { cout << "YES\n"; cout << s << '\n'; s[i] = '0'; s[v[j]] = '1'; cout << s << endl; return; } v[j] = i; s[i] = '0'; } s = string(n, '1'); for (int i = 0; i < n; ++i) { s[i] = '0'; string t = ask(s); if (count(all(t), '0') != 1) { find_fail(s, t); return; } s[i] = '1'; } cout << "NO\n"; } int main() { cin.tie(0) -> sync_with_stdio(0); solve(); }
Test details
Test 1
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
2 2 NO 1 2 |
correct output |
---|
(empty) |
user output |
---|
2 2 ? 10 10 ? 01 01 ... |
Error:
1 1 100 0
Test 2
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
2 2 YES 1 2 conj 2 1 1 |
correct output |
---|
(empty) |
user output |
---|
2 2 ? 10 10 ? 01 00 ... |
Error:
1 1 100 0
Test 3
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 NO 6 2 1 8 3 9 4 10 5 7 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 0010000000 ? 0100000000 0100000000 ... Truncated |
Error:
1 1 100 0
Test 4
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 YES 6 10 2 3 9 8 4 5 7 1 disj 2 2 7 3 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 0000000001 ? 0100000000 0010000000 ... Truncated |
Error:
1 1 100 0
Test 5
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 YES 8 4 9 10 6 3 7 2 1 5 disj 1 5 2 9 1 4 3 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 0000000010 ? 0100000000 0000000100 ... Truncated |
Error:
1 1 100 0
Test 6
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 YES 8 6 2 4 10 5 7 9 1 3 disj 9 8 3 6 2 10 8 7 9 5 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 0000000010 ? 0100000000 0010000000 ... Truncated |
Error:
1 1 100 0
Test 7
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 YES 1 2 3 5 8 6 4 9 10 7 conj 4 2 8 10 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 1000000000 ? 0100000000 0100000000 ... Truncated |
Error:
1 1 100 0
Test 8
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 YES 9 8 3 2 10 6 1 4 5 7 conj 2 5 3 1 2 7 4 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 0000001000 ? 0100000000 0001000000 ... Truncated |
Error:
1 1 100 0
Test 9
Group: 1, 2, 4
Verdict: ACCEPTED
input |
---|
10 10 YES 7 1 5 8 9 4 3 6 2 10 conj 4 8 9 6 3 5 1 10 7 4 |
correct output |
---|
(empty) |
user output |
---|
10 10 ? 1000000000 0100000000 ? 0100000000 0000000010 ... Truncated |
Error:
1 1 100 0
Test 10
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 NO 17 30 6 20 28 16 7 4 14 25 18 ... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 11
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 YES 13 22 6 23 16 20 9 30 8 18 2 1... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 12
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 YES 12 30 22 9 3 7 27 21 2 28 10 1... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 13
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 YES 4 7 27 17 26 24 9 20 19 22 10 ... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 14
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 YES 7 2 24 11 4 30 17 6 9 29 5 22 ... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 15
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 YES 8 12 21 26 3 23 17 4 5 6 22 16... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 16
Group: 2, 4
Verdict: ACCEPTED
input |
---|
30 30 YES 8 20 19 21 24 23 25 28 5 10 13... |
correct output |
---|
(empty) |
user output |
---|
30 30 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 17
Group: 3
Verdict: ACCEPTED
input |
---|
1000 999 YES 122 260 455 752 587 951 433 81... |
correct output |
---|
(empty) |
user output |
---|
1000 999 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 18
Group: 3
Verdict: ACCEPTED
input |
---|
1000 999 YES 593 999 981 107 187 851 19 574... |
correct output |
---|
(empty) |
user output |
---|
1000 999 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 19
Group: 3
Verdict: ACCEPTED
input |
---|
1000 999 YES 99 213 558 569 343 613 593 85 ... |
correct output |
---|
(empty) |
user output |
---|
1000 999 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 20
Group: 3
Verdict: ACCEPTED
input |
---|
1000 999 YES 60 15 857 450 862 173 675 384 ... |
correct output |
---|
(empty) |
user output |
---|
1000 999 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 21
Group: 3
Verdict: ACCEPTED
input |
---|
3 2 YES 3 1 disj 1 2 2 1 |
correct output |
---|
(empty) |
user output |
---|
3 2 ? 100 01 ? 010 00 ... |
Error:
1 1 100 0
Test 22
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 NO 493 409 829 533 156 443 530 80... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 23
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 YES 16 450 665 56 968 1 984 545 90... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 24
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 YES 503 289 147 513 833 468 199 82... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 25
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 YES 294 617 164 497 46 961 234 12 ... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 26
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 YES 465 496 15 263 713 784 337 487... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 27
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 YES 788 567 826 731 874 95 502 20 ... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0
Test 28
Group: 4
Verdict: ACCEPTED
input |
---|
1000 1000 YES 611 543 496 586 262 765 461 83... |
correct output |
---|
(empty) |
user output |
---|
1000 1000 ? 1000000000000000000000000000... Truncated |
Error:
1 1 100 0