Submission #1316479

#TimeUsernameProblemLanguageResultExecution timeMemory
1316479exoworldgdCombo (IOI18_combo)C++20
100 / 100
8 ms476 KiB
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
int press(string s);
const char c[]={'A','B','X','Y'};
int ask(string s){return press(s);}
int ask1(string s){
    int len=ask(s+c[0]+s+c[1]),idx=2*(len<s.length()+1);
    return len=ask(s+c[idx]),idx+(len<s.length()+1);
}
string guess_sequence(int n) {
    string s="";
    int idx[4],id=ask1(s);
    iota(idx,idx+4,0);
    s+=c[id],swap(idx[id],idx[3]);
    for (int i=0,len;i<n-2;i++)len=ask(s+c[idx[0]]+c[idx[0]]+s+c[idx[0]]+c[idx[1]]+s+c[idx[0]]+c[idx[2]]+s+c[idx[1]]),s+=len==i+3?c[idx[0]]:len==i+2?c[idx[1]]:c[idx[2]];
    return n>1?s+c[ask1(s)]:s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...