제출 #604831

#제출 시각아이디문제언어결과실행 시간메모리
604831boris_mihovCombo (IOI18_combo)C++14
5 / 100
1 ms256 KiB
#include <iostream>
#include "combo.h"

char let[4] = {'A', 'B', 'X', 'Y'};
std::string ans, guess;
std::string guess_sequence(int n) 
{
    int letIdx = 3;
    for (int i = 0 ; i < 3 ; ++i)
    {
        ans += let[i];
        if (press(ans))
        {
            letIdx = i;
            break;
        }

        ans.pop_back();
    }

    if (letIdx == 3) ans += let[3];
    std::swap(let[letIdx], let[3]);
    for (int i = 2 ; i <= n-1 ; ++i)
    {
        guess = ans; guess += let[0];
        guess += ans + let[1] + let[0];
        guess += ans + let[1] + let[1];
        guess += ans + let[1] + let[2];
        int res = press(guess);
        if (res == i) ans += let[0];
        if (res == i+1) ans += let[1];
        if (res == i-1) ans += let[2];
    }

    guess = ans + let[0];
    if (press(guess) == n) return ans += let[0];

    guess = ans + let[1];
    if (press(guess) == n) return ans += let[1];
    return ans += let[2];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...