# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
964577 |
2024-04-17T06:49:47 Z |
fve5 |
Combo (IOI18_combo) |
C++17 |
|
1 ms |
356 KB |
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
array<char, 3> order(char fst) {
switch (fst) {
case 'A': return {'B', 'X', 'Y'};
case 'B': return {'A', 'X', 'Y'};
case 'X': return {'A', 'B', 'Y'};
case 'Y': return {'A', 'B', 'X'};
}
}
string guess(int N, char fst) {
string curr(1, fst);
auto [x, y, z] = order(fst);
for (int i = 1; i < N - 1; i++) {
string query = (curr + x + x) + (curr + x + y) + (curr + x + z) + (curr + y);
switch (press(query) - i) {
case 0: curr += z; break;
case 1: curr += y; break;
case 2: curr += x; break;
}
}
if (press(curr + x) == N)
return curr + x;
if (press(curr + y) == N)
return curr + y;
return curr + z;
}
string guess_sequence(int N) {
if (press("AB") != 0) {
if (press("A") != 0)
return guess(N, 'A');
else
return guess(N, 'B');
} else {
if (press("X"))
return guess(N, 'X');
else
return guess(N, 'Y');
}
}
Compilation message
combo.cpp: In function 'std::array<char, 3> order(char)':
combo.cpp:12:1: warning: control reaches end of non-void function [-Wreturn-type]
12 | }
| ^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
0 ms |
344 KB |
Output is correct |
4 |
Correct |
1 ms |
344 KB |
Output is correct |
5 |
Correct |
0 ms |
344 KB |
Output is correct |
6 |
Correct |
1 ms |
344 KB |
Output is correct |
7 |
Correct |
1 ms |
344 KB |
Output is correct |
8 |
Correct |
0 ms |
344 KB |
Output is correct |
9 |
Correct |
0 ms |
344 KB |
Output is correct |
10 |
Correct |
0 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
344 KB |
Output is correct |
12 |
Correct |
1 ms |
352 KB |
Output is correct |
13 |
Correct |
0 ms |
344 KB |
Output is correct |
14 |
Correct |
0 ms |
344 KB |
Output is correct |
15 |
Correct |
0 ms |
344 KB |
Output is correct |
16 |
Correct |
0 ms |
344 KB |
Output is correct |
17 |
Correct |
0 ms |
344 KB |
Output is correct |
18 |
Correct |
0 ms |
344 KB |
Output is correct |
19 |
Correct |
1 ms |
344 KB |
Output is correct |
20 |
Correct |
1 ms |
344 KB |
Output is correct |
21 |
Correct |
0 ms |
344 KB |
Output is correct |
22 |
Correct |
0 ms |
356 KB |
Output is correct |
23 |
Correct |
0 ms |
344 KB |
Output is correct |
24 |
Correct |
0 ms |
344 KB |
Output is correct |
25 |
Correct |
1 ms |
344 KB |
Output is correct |
26 |
Correct |
1 ms |
344 KB |
Output is correct |
27 |
Correct |
0 ms |
344 KB |
Output is correct |
28 |
Correct |
0 ms |
344 KB |
Output is correct |
29 |
Correct |
0 ms |
344 KB |
Output is correct |
30 |
Correct |
0 ms |
344 KB |
Output is correct |
31 |
Correct |
0 ms |
352 KB |
Output is correct |
32 |
Correct |
0 ms |
344 KB |
Output is correct |
33 |
Correct |
1 ms |
352 KB |
Output is correct |
34 |
Correct |
0 ms |
344 KB |
Output is correct |
35 |
Correct |
1 ms |
344 KB |
Output is correct |
36 |
Correct |
0 ms |
344 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
Wrong Answer: wrong guess. |
2 |
Halted |
0 ms |
0 KB |
- |