Submission #1242639

#TimeUsernameProblemLanguageResultExecution timeMemory
1242639JelaByteEngineerCombo (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include <bits/stdc++.h>
#include "combo.h"
#define ll long long
using namespace std;
string guess_sequence (int N)
{
    string s="";
    int res=press("AX");
    if (res==0)
    {
        if (press("B")==1) s+='B';
        else s+='Y';
    }
    else if (res==1)
    {
        if (press("X")==1) s+='X';
        else s+='A';
    }
    else s+='A';
    if (N==1) return s;
    char c=s[0];
    vector <char> mog(3);
    if (c=='A') mog={'B', 'X', 'Y'};
    else if (c=='B') mog={'A', 'X', 'Y'};
    else if (c=='X') mog={'A', 'B', 'Y'};
    else mog={'A', 'B', 'X'};
    for (int i=1; i<=N; i++)
    {
        if (s.size()==N-1) break;
        string p=(s+mog[1])+(s+mog[2]+mog[1])+(s+mog[2]+mog[0])+(s+mog[2]+mog[2]);
        int res=press(p);
        if (res==s.size()) s+=mog[0];
        else if (res==s.size()+1) s+=mog[1];
        else if (res==s.size()+2) s+=mog[2];
    }
    if (press(s+'X')==s.size())
    {
        if (press(s+'Y')==s.size()) s+='B';
        else s+='Y';
    }
    else s+='X';
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...