Submission #203403

#TimeUsernameProblemLanguageResultExecution timeMemory
2034030gnjenCombo (IOI18_combo)C++14
100 / 100
65 ms684 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;

std::string guess_sequence(int N)
{
    //cout << N << endl;
    string s = "";
    string c = "ABXY";

    if( press("XY") )
    {
        if(press("X"))s = "X" , c = "ABY";
        else s = "Y" , c = "ABX";
    }
    else
    {
        if(press("A"))s = "A" , c = "BXY";
        else s = "B" , c ="AXY";
    }

    for(int i = 1; i < N; i++)
    {
        if(i+1 == N)
        {
            string ask1 = s;ask1+=c[0];
            string ask2 = s;ask2+=c[1];
            string ask3 = s;ask3+=c[2];
            if(press(ask1) == N)s = ask1;
            else if(press(ask2) == N)s = ask2;
            else s = ask3;
        }

        else
        {

            string ask1 = s ;
            ask1+=c[0];

            ask1+=s;
            ask1+=c[1];
            ask1+=c[0];

            ask1+=s;
            ask1+=c[1];
            ask1+=c[1];

            ask1+=s;
            ask1+=c[1];
            ask1+=c[2];


            int p = press(ask1);

            if(p==i)s+=c[2];
            else if(p==i+1)s+=c[0];
            else s+=c[1];
        }
    }


    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...