# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1191923 | p4r4d0_x | Combo (IOI18_combo) | C++20 | 0 ms | 0 KiB |
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ll long long
string guess_sequence(int N) {
vector<char> a = {'A', 'B', 'X', 'Y'};
string s;
if(press("AB")){
if(press("A"))
s = "A";
else
s="B"
}else if(press("X"))s="X";
else s="Y";
else if(press("XY") == 1){
if(press("X") == 1){
s = "X";
}
else s = "Y";
}
ll cnt = 1;
vector<char> v;
for(int i = 0; i < 4; ++i){
if(a[i] != s[0]){
v.pb(a[i]);
}
}
char b = v[0], x = v[1], y = v[2];
while(1){
cnt++;
if(cnt==N){
if(press(s + b) == N){
s += b;
}
else if(press(s + x) == N){
s += x;
}
else s += y;
break;
}
else{
ll count = press(s + b + s + x + b + s + x + y + s + x + x);
if(count == cnt + 1){
s += b;
}
else if(count == cnt + 2){
s += x;
}
else s += y;
}
}
return s;
}