Submission #1304302

#TimeUsernameProblemLanguageResultExecution timeMemory
1304302yus1f_m콤보 (IOI18_combo)C++20
30 / 100
11 ms436 KiB
//pragma GCC optimize("O3")
//#include <bits/stdc++.H>
#include "combo.h"
using namespace std;
string guess_sequence(int n)
{
    int num;
    string ans;
    num=press("AB");
    if(num==2)
    {
        ans="AB";
    }
    else
    {
        if(num==1)
        {
            num=press("A");
            if(num==1)
            {
                ans='A';
            }
            else
            {
                ans='B';
            }
        }
        else
        {
            num=press("X");
            if(num==1)
            {
                ans='X';
            }
            else
            {
                ans='Y';
            }
        }
    }
    while(ans.size()!=n)
    {
        if(ans[0]=='A')
        {
            num=press(ans+'B');
            if(num==ans.size()+1)
            {
                ans+='B';
            }
            else
            {
                num=press(ans+'X');
                if(num==ans.size()+1)
                {
                    ans+='X';
                }
                else
                {
                    ans+='Y';
                }
            }
        }
        else if(ans[0]=='B')
        {
            num=press(ans+'A');
            if(num==ans.size()+1)
            {
                ans+='A';
            }
            else
            {
                num=press(ans+'X');
                if(num==ans.size()+1)
                {
                    ans+='X';
                }
                else
                {
                    ans+='Y';
                }
            }
        }
        else if(ans[0]=='X')
        {
            num=press(ans+'A');
            if(num==ans.size()+1)
            {
                ans+='A';
            }
            else
            {
                num=press(ans+'B');
                if(num==ans.size()+1)
                {
                    ans+='B';
                }
                else
                {
                    ans+='Y';
                }
            }
        }
        else
        {
            num=press(ans+'A');
            if(num==ans.size()+1)
            {
                ans+='A';
            }
            else
            {
                num=press(ans+'B');
                if(num==ans.size()+1)
                {
                    ans+='B';
                }
                else
                {
                    ans+='X';
                }
            }
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...