# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1160888 | Aza | Combo (IOI18_combo) | C++20 | 0 ms | 0 KiB |
#include <string>
#include <iostream>
#include "combo.h"
#define size(x) (int)x.size()
using namespace std;
int press(string p){
cout << p << endl;
int ret;
cin >> ret;
return ret;
}
string guess_sentence(int N){
string s;
string g = "ABXY";
char ign = 'A';
for(int i = 0; i < 4; i++){
string h;
h += g[i];
if(press(h) == 1){
s += h;
ign = g[i];
break;
}
}
string gg;
for(char ch:g){
if(ch == ign)continue;
gg += ch;
}
g = gg;
while(size(s) != N){
bool did = false;
for(int i = 0; i < 2; i++){
s += g[i];
if(press(s) == size(s)){
did = true;
break;
}
s.pop_back();
}
if(!did){
s += g[2];
}
}
return s;
}
/*
*/