# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
132005 |
2019-07-18T07:34:26 Z |
dvdg6566 |
Combo (IOI18_combo) |
C++14 |
|
2 ms |
456 KB |
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
#define pb emplace_back
#define mp make_pair
#define ALL(x) x.begin(), x.end()
#define SZ(x) (int)x.size()
char ltrs[] = {'A', 'B', 'X', 'Y'};
vector<char> res;
string guess_sequence(int N) {
// cres<<N<<'\n';
int a = press("AB");
int b = press("AX");
int x;
if(a&&b)res.pb('A');
if (a&&!b)res.pb('B');
if (!a&&b)res.pb('X');
if(!a&&!b)res.pb('Y');
vector<char> V;
for (int i=0;i<4;++i)if(ltrs[i] != res[0])V.pb(ltrs[i]);
for (x=2;x<N;++x){
string q = "";
for (auto i : res)q+=i;
q += V[0];
q += V[0];
for (auto i : res)q+=i;
q += V[0];
q += V[1];
for (auto i : res)q+=i;
q += V[0];
q += V[2];
for (auto i : res)q+=i;
q += V[1];
assert(SZ(q) <= 4*N);
for (auto i : q)assert(i=='A'||i=='B'||i=='X'||i=='Y');
// cres<<q<<'\n';4
int r = press(q);
// cres<<res<<' '<<x<<'\n';
if (r == x-1){
res.pb(V[2]);
}else if (r == x+1){
res.pb(V[0]);
}else{
res.pb(V[1]);
}
}
assert(SZ(res) + 1 ==N);
// cout<<x<<' '<<N<<' '<<SZ(res)<<'\n';
// assert(x<N);
string ret = "";
for (auto i : res)ret += i;
ret += V[0];
if (press(ret) == N)return ret;
ret = "";
for (auto i : res)ret += i;
ret += V[1];
if (press(ret) == N)return ret;
ret = "";
for (auto i : res)ret += i;
ret += V[2];
if (press(ret) == N)return ret;
assert(0);
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
200 KB |
Output is correct |
2 |
Correct |
1 ms |
200 KB |
Output is correct |
3 |
Correct |
1 ms |
200 KB |
Output is correct |
4 |
Correct |
1 ms |
200 KB |
Output is correct |
5 |
Correct |
1 ms |
200 KB |
Output is correct |
6 |
Correct |
1 ms |
200 KB |
Output is correct |
7 |
Correct |
1 ms |
200 KB |
Output is correct |
8 |
Correct |
1 ms |
200 KB |
Output is correct |
9 |
Correct |
1 ms |
200 KB |
Output is correct |
10 |
Correct |
1 ms |
200 KB |
Output is correct |
11 |
Correct |
1 ms |
200 KB |
Output is correct |
12 |
Correct |
2 ms |
200 KB |
Output is correct |
13 |
Correct |
2 ms |
200 KB |
Output is correct |
14 |
Correct |
2 ms |
200 KB |
Output is correct |
15 |
Correct |
1 ms |
200 KB |
Output is correct |
16 |
Correct |
1 ms |
200 KB |
Output is correct |
17 |
Correct |
1 ms |
200 KB |
Output is correct |
18 |
Correct |
1 ms |
200 KB |
Output is correct |
19 |
Correct |
2 ms |
200 KB |
Output is correct |
20 |
Correct |
1 ms |
200 KB |
Output is correct |
21 |
Correct |
1 ms |
200 KB |
Output is correct |
22 |
Correct |
1 ms |
200 KB |
Output is correct |
23 |
Correct |
1 ms |
200 KB |
Output is correct |
24 |
Correct |
1 ms |
200 KB |
Output is correct |
25 |
Correct |
1 ms |
200 KB |
Output is correct |
26 |
Correct |
2 ms |
200 KB |
Output is correct |
27 |
Correct |
1 ms |
200 KB |
Output is correct |
28 |
Correct |
2 ms |
200 KB |
Output is correct |
29 |
Correct |
1 ms |
200 KB |
Output is correct |
30 |
Correct |
1 ms |
200 KB |
Output is correct |
31 |
Correct |
1 ms |
200 KB |
Output is correct |
32 |
Correct |
1 ms |
200 KB |
Output is correct |
33 |
Correct |
1 ms |
200 KB |
Output is correct |
34 |
Correct |
1 ms |
200 KB |
Output is correct |
35 |
Correct |
1 ms |
200 KB |
Output is correct |
36 |
Correct |
1 ms |
200 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
456 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |