| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1284067 | hssaan_arif | Combo (IOI18_combo) | C++20 | 0 ms | 0 KiB |
string guess_sequence(int N) {
int n = N;
string s = "AA" ;
string F = "" , X = "";
int p = press(s);
if (p){
F = "A";
if (p == 2){
X = "A";
}else{
string s = "AB";
int p = press(s);
if (p == 2){
X = "B";
}else{
s = "AX";
p = press(s);
if (p == 2){
X = "X";
}else{
s = "AY";
p = press(s);
if (p == 2){
X = "Y";
}
}
}
}
}else{
s = "BA" ;
p = press(s);
if (p){
F = "B";
if (p == 2){
X = "A";
}
}else{
s = "XA" ;
p = press(s);
if (p){
F = "X";
if (p == 2){
X = "A";
}
}else{
s = "YA" ;
p = press(s);
if (p){
F = "Y";
if (p == 2){
X = "A";
}
}
}
}
}
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;
ans += X;
for (int i = 2 ; 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;
}
