제출 #1337088

#제출 시각아이디문제언어결과실행 시간메모리
1337088yusifm콤보 (IOI18_combo)C++20
5 / 100
0 ms344 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 cc="",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";
    }
    if(ans[0]=='A')
    {
        cc+='B',cc+='X',cc+='Y';
    }
    else if(ans[0]=='B')
    {
        cc+='A',cc+='X',cc+='Y';
    }
    else if(ans[0]=='X')
    {
        cc+='A',cc+='B',cc+='Y';
    }
    else
    {
        cc+='A',cc+='B',cc+='X';
    }
    while(ans.size()!=n-1)
    {
        num=press(ans+cc[0]+ans+cc[1]+cc[0]+ans+cc[1]+cc[1]+ans+cc[1]+cc[2]);
        if(num==ans.size()+1)
        {
            ans+=cc[0];
        }
        else if(num==ans.size()+2)
        {
            ans+=cc[1];
        }
        else
        {
            ans+=cc[2];
        }
    }
    if(press(ans+cc[0])==n)
    {
        ans+=cc[0];
    }
    else if(press(ans+cc[1])==n)
    {
        ans+=cc[1];
    }
    else
    {
        ans+=cc[2];
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...