제출 #1184454

#제출 시각아이디문제언어결과실행 시간메모리
1184454acoatoitgs콤보 (IOI18_combo)C++20
5 / 100
1 ms408 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;

#define ll long long

int press(string p);

string guess_sequence(int N)
{
    string ans = "";
    ll r = press("AB");
    if(r)
    {
        if(press("A")) ans = "A";
        else ans = "B";
    }
    else
    {
        if(press("X")) ans = "X";
        else ans = "Y";
    }

    char c = ans[0];
    string l = "ABXY";

    l.erase(find(l.begin(),l.end(), c));

    while(ans.size() != N-1)
    {
        // cout << "Size: " << ans.size() << " ans: " << ans << "\n";
        string q = ans + l[0];
        for(int i= 0; i < 3; i++)
        {
            q += ans + l[1] + l[i];
        }

        ll r = press(q);
        if(r == ans.size())
            ans += l[2];
        else if(r == ans.size()+1)
            ans += l[0];
            else ans += l[1];
    }
    // cout << "Size: " << ans.size() << " ans: " << ans << "\n";
    
    string st = ans + l[0] + ans + l[1];
    r = press(st);

    if(r == N)
    {
        if(press(ans + l[0]) == N) ans += l[0];
        else ans += l[1];
    }
    else
    {
        return ans + l[2];
    }

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