제출 #1336562

#제출 시각아이디문제언어결과실행 시간메모리
1336562yusifmCombo (IOI18_combo)C++20
30 / 100
15 ms456 KiB
//pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int n)
{
    int num,num1,num2;
    string ans;
    num1=press("AB"),num2=press("AX");
    if(num1==2)
    {
        ans="AB";
    }
    else if(num2==2)
    {
        ans="AX";
    }
    else if(num1==1 && num2==1)
    {
        ans="A";
    }
    else if(num1==1 && num2==0)
    {
        ans="B";
    }
    else if(num1==0 && num2==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...