Submission #1255190

#TimeUsernameProblemLanguageResultExecution timeMemory
1255190charhaoCombo (IOI18_combo)C++20
10 / 100
20 ms496 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;

string guess_sequence(int n)
{
    string ans="";
    vector<char> t;
    if(press("AB")){//first character is A or B
        int T=press("A");
        if(T==1) ans="A",t={'B','X','Y'};
        else ans="B",t={'A','X','Y'};
    }
    else{
        int T=press("X");
        if(T==1) ans="X",t={'A','B','Y'};
        else ans="Y",t={'A','B','X'};
    }
    for(int i=2;i<=n-1;i++){
        string T=ans+t[1];
        if(press(T)-ans.size()==1){
            ans+=t[1];
            continue;
        }       
        bool flag=false;
        for(int j=0;j<3;j++){
            T=ans+t[0]+t[j];
            if(press(T)-ans.size()==2){
                flag=true;
                break;
            }
        }
        if(flag) ans+=t[0];
        else ans+=t[2];
    }
    if(ans.size()==n) return ans;
    string aans="";
    for(int j=0;j<=1;j++){
        string T=ans+t[j];
        if(press(T)-ans.size()==1){
            aans=T;
            break;
        }
    }
    if(!aans.size()) aans=ans+t[2];
    // cout<<aans<<'\n';
    return aans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...