Submission #750503

#TimeUsernameProblemLanguageResultExecution timeMemory
750503huutuanCombo (IOI18_combo)C++14
100 / 100
32 ms556 KiB
#include "combo.h"
#include <bits/stdc++.h>

using namespace std;

string guess_sequence(int N){
    char a, b, x, y;
    int t=press("AB");
    if (t){
        if (press("A")) a='A', b='B', x='X', y='Y';
        else a='B', b='A', x='X', y='Y';
    }else{
        if (press("X")) a='X', b='A', x='B', y='Y';
        else a='Y', b='A', x='B', y='X';
    }
    string cur(1, a);
    while ((int)cur.size()+2<=N){
        string s=cur;
        s+=b; s+=cur; s+=x; s+=b; s+=cur; s+=x; s+=x; s+=cur; s+=x; s+=y;
        t=press(s);
        if (t==(int)cur.size()+1) cur+=b;
        else if (t==(int)cur.size()+2) cur+=x;
        else cur+=y;
    }
    if ((int)cur.size()!=N){
        if (press(cur+b)==N) cur+=b;
        else if (press(cur+x)==N) cur+=x;
        else cur+=y;
    }
    return cur;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...