Submission #1255195

#TimeUsernameProblemLanguageResultExecution timeMemory
1255195charhaoCombo (IOI18_combo)C++20
100 / 100
7 ms528 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];
        T=T+ans+t[0]+t[0];
        T=T+ans+t[0]+t[1];
        T=T+ans+t[0]+t[2];
        int res=press(T)-ans.size();
        if(res==0) ans+=t[2];
        else if(res==1) ans+=t[1];
        else ans+=t[0]; 
    }
    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...