#include <bits/stdc++.h>
#include "combo.h"
#define REP(i, a, b) for(int i = a; i<b; i++)
#define all(v) v.begin(), v.end()
#define i64 long long
using namespace std;
const i64 MOD = 1000000007;
string guess_sequence(int n){
    //char a = 'A', b = 'B', x = 'X', y = 'Y';
    vector<string> a = {"A", "B", "X", "Y"};
    vector<string> c;
    string s = "";
    string f = "";
    string test = "AB";
    int ans = press(test);
    cout.flush();
    if(ans == 0){
        ans = press("X");
        cout.flush();
        if(ans == 0){
            s += 'Y';
            f += 'Y';
        }
        else{
            s += 'X';
            f += 'X';
        }
    } else{
        ans = press("A");
        cout.flush();
        if(ans == 0){
            s += 'B';
            f += 'B';
        }
        else{
            s += 'A';
            f += 'A';
        }
    }
    REP(i, 0, a.size()){
        if(a[i] == f) continue;
        c.push_back(a[i]);
    }
    string t = "";
    while(s.size() < n-1){
        t += s + c[1];
        REP(i, 0, 3){
            t += s + c[0] + c[i];
        }
        ans = press(t);
        cout.flush();
        if(ans == 0){
            s += c[2];
        } else if(ans == 1){
            s += c[1];
        } else if(ans == 2){
            s += c[0];
        }
        t.clear();
    }
    test = s + "AB";
    ans = press(test);
    cout.flush();
    if(ans == 0){
        test = s + "X";
        ans = press(test);
        cout.flush();
        if(ans == 0) s += 'Y';
        else s += 'X';
    } else{
        test = s + "A";
        ans = press(test);
        cout.flush();
        if(ans == 0) s += 'B';
        else s += 'A';
    }
    return s;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |