Submission #1351969

#TimeUsernameProblemLanguageResultExecution timeMemory
1351969KALARRYCombo (IOI18_combo)C++20
100 / 100
6 ms548 KiB
//chockolateman

#include<bits/stdc++.h>
#include "combo.h"

using namespace std;

char let[4] = {'A','B','X','Y'};

std::string guess_sequence(int N) 
{
    std::string ans = "";
    ans.push_back(let[0]);
    ans.push_back(let[1]);
    int res = press(ans);
    ans.clear();
    if(res==0)
    {
        swap(let[0],let[2]);
        swap(let[1],let[3]);
    }
    ans.push_back(let[0]);
    res = press(ans);
    ans.clear();
    if(!res)
        swap(let[0],let[1]);
    ans.push_back(let[0]);
    string p;
    for(int i = 1 ; i <= N-2 ; i++)
    {
        p = ans + let[1] + ans + let[2] + let[1] + ans + let[2] + let[2] + ans + let[2] + let[3];
        res = press(p);
        if(res==i)
            ans.push_back(let[3]);
        else if(res==i+1)
            ans.push_back(let[1]);
        else
            ans.push_back(let[2]);
    }
    if(N != 1)
    {
        for(int i = 1 ; i <= 3 ; i++)
        {
            ans += let[i];
            res = N;
            if(i != 3)
                res = press(ans);
            if(res == N)
                break;
            ans.pop_back();
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...