Submission #546467

#TimeUsernameProblemLanguageResultExecution timeMemory
546467Leo121Combo (IOI18_combo)C++14
100 / 100
37 ms556 KiB
#include <bits/stdc++.h>
#define forn(i, a, b) for(int i = int(a); i <= int(b); ++ i)
#include "combo.h"
using namespace std;
std::string guess_sequence(int N) {
    char pri = 'A', seg = 'B', ter = 'X';
    string res = " ";
    int numero;
    numero = press("AB");
    if(numero){
        numero = press("A");
        if(numero){
            res = "A";
            pri = seg;
            seg = ter;
            ter = 'Y';
        }
        else{
            res = "B";
            seg = ter;
            ter = 'Y';
        }
    }
    else{
        res = "Y";
        numero = press("X");
        if(numero){
            res = "X";
            ter = 'Y';
        }
    }
    if(N == 1){
        return res;
    }
    string pregunta;
    forn(i, 2, N - 1){
        pregunta = "";
        pregunta += res;
        pregunta += pri;
        pregunta += pri;
        pregunta += res;
        pregunta += pri;
        pregunta += seg;
        pregunta += res;
        pregunta += pri;
        pregunta += ter;
        pregunta += res;
        pregunta += seg;
        numero = press(pregunta);
        if(numero == i + 1){
            res += pri;
        }
        else if(numero == i){
            res += seg;
        }
        else{
            res += ter;
        }
    }
    numero = press(res + pri);
    if(numero == N){
        res += pri;
    }
    else{
        numero = press(res + seg);
        if(numero == N){
            res += seg;
        }
        else{
            res += ter;
        }
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...