| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1284149 | hssaan_arif | 콤보 (IOI18_combo) | C++20 | 0 ms | 0 KiB |
string guess_sequence(int N) {
int n = N;
if (n == 1){
int p = press("A");
if (p){
// cout << "A" << endl;
return "A";
}
p = press("B");
if (p){
// cout << "B" << endl;
return "B";
}
p = press("X");
if (p){
// cout << "X" << endl;
return "X";
}
return "Y";
}
string s = "AB" ;
string F = "";
int p = press(s);
if (p){
s = "A";
p = press(s);
if (p){
F = "A";
}else{
F = "B";
}
}else{
s = "XYAYBYX";
p = press(s);
if (p == 2){
F = 'Y';
}else{
F = 'X';
}
}
vector<string> S;
if (F != "A"){
S.pb("A");
}
if (F != "B"){
S.pb("B");
}
if (F != "X"){
S.pb("X");
}
if (F != "Y"){
S.pb("Y");
}
string ans = "";
ans += F;
for (int i = 1 ; i < n ; i++){
// cout << ans << " ";
if (i == n-1){
string s = "";
s += ans;
s += S[0];
int p = press(s);
if (p == i+1){
ans += S[0];
continue;
}
s = "";
s += ans;
s += S[1];
p = press(s);
if (p == i+1){
ans += S[1];
continue;
}
ans += S[2];
continue;
}
string s = "";
s += ans;
s += S[0];
s += ans;
s += S[1];
s += S[0];
s += ans;
s += S[1];
s += S[1];
s += ans;
s += S[1];
s += S[2];
// cout << s << endl;
int p = press(s);
if (p == i){
ans += S[2];
}else if (p == i+1){
ans += S[0];
}else{
ans += S[1];
}
}
return ans;
}
