| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1279257 | cnastea | Combo (IOI18_combo) | C++20 | 0 ms | 0 KiB | 
string guess_sequence(int n){
    string p, q;
    int k = press("AB");
    if(k) {k = press("A"); if(k) p = "A"; else p = "B";}
    else {k = press("X"); if(k) p = "X"; else p = "Y";}
    if(n == 1) return p;
    set<char> s = {'A', 'B', 'X', 'Y'}; s.erase(p[0]);
    char a, b, c; a = *s.begin(); s.erase(s.begin());
    b = *s.begin(); s.erase(s.begin()); c = *s.begin();
    while(p.size() < n-1){
        q = p+a+a+p+a+b+p+a+c+p+b;
        k = press(q); if(k == p.size()) p += c;
        if(k == p.size()+1) p += b;
        if(k == p.size()+2) p += a;
    }
    k = press(p+a); if(k == n) return p+a;
    k = press(p+b); if(k == n) return p+b;
    return p+c;
}
