제출 #1271608

#제출 시각아이디문제언어결과실행 시간메모리
1271608david_g611콤보 (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;

string guess_sequence(int N)
{
    char first;
    if(press("AB"))
    {
        if(press("A"))
            first='A';
        else
            first='B';
    }
    else
    {
        if(press("X"))
            first='X';
        else
            first='Y';
    }
    string s="";
    s+=first;
    if(N==1)return s;
    char f1, f2, f3;
    if(first=='A')f1='B', f2='X', f3='Y';
    if(first=='B')f1='A', f2='X', f3='Y';
    if(first=='X')f1='B', f2='Y', f3='A';
    if(first=='Y')f1='B', f2='X', f3='A';

    for(int i=1; i<=N-2; i++)
    {
        string p="";
        p+=s;p+=f1;p+=f1;
        p+=s;p+=f1;p+=f2;
        p+=s;p+=f1;p+=f3;
        p+=s;p+=f2;
        int creste=press(p)-s.size();
        if(creste==2)s+=f1;
        if(creste==1)s+=f2;
        if(creste==0)s+=f3;
    }
    string p="";
    p+=s;p+=f1;
    p+=s;p+=f2;
    if(press(p) == N)
    {
        p="";
        p+=s;
        p+=f1;
        if(press(p)==N)
            s+=f1;
        else
            s+=f2;
    }
    else
        s+=f3;
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...