제출 #1333904

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

using namespace std;

vector<string>el;

string guess_sequence(int N)
{
    el.push_back("A");
    el.push_back("B");
    el.push_back("X");
    el.push_back("Y");

    int eridx;
    string s;
    for(int i=0;i<4;i++)
    {
        if(press(el[i])==1)
        {
            s=el[i];
            eridx=i;
            break;
        }
    }

    el.erase(el.begin()+eridx);

    string curr,ask;

    while(s.size()!=N)
    {
        if(N-s.size()==1)
        {
            ask=s+el[0];
            int ret=press(ask);

            if(ret==N)
            {
                s+=el[0];
                break;
            }

            ask=s+el[1];
            ret=press(ask);

            if(ret==N)
            {
                s+=el[1];
                break;
            }

            s+=el[2];
        }
        else
        {
            ask="";

            curr=s+el[0]+el[0];
            ask+=curr;
            curr=s+el[0]+el[1];
            ask+=curr;
            curr=s+el[0]+el[2];
            ask+=curr;
            curr=s+el[1];
            ask+=curr;

            int ret=press(ask);

            if(ret==s.size()+2)
                s+=el[0];
            else if(ret==s.size()+1)
                s+=el[1];
            else
                s+=el[2];
        }
    }

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