제출 #861654

#제출 시각아이디문제언어결과실행 시간메모리
861654Ariadna콤보 (IOI18_combo)C++14
30 / 100
24 ms1464 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
int press(string p);
 
vector < char > aux;

string first_char() {
    string s = "AB";
    int ans = press(s);
    if (ans == 2) {
        aux = {'B', 'X', 'Y'};
        return s;
    }
    if (ans) {
        s = "A";
        if (press(s)) {
            aux = {'B', 'X', 'Y'};
            return s;
        }
        aux = {'A', 'X', 'Y'};
        return "B";
    }
    s = "X";
    if (press(s)) {
        aux = {'A', 'B', 'Y'};
        return s;
    }
    aux = {'A', 'B', 'X'};
    return "Y";
}

string guess_sequence(int N) {
    string s = first_char();
    for (int i = (int)s.size() + 1; i <= N; ++i) {
        s += aux[0];
        if ((i != 2 || s[0] != 'A') && press(s) == i) continue;
        s[i - 1] = aux[1];
        if ( press(s) == i) continue;
        s[i - 1] = aux[2];
    }
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...