Submission #1175069

#TimeUsernameProblemLanguageResultExecution timeMemory
1175069banganCombo (IOI18_combo)C++20
5 / 100
0 ms396 KiB
#include "combo.h"

std::string guess_sequence(int N) {
    std::string s;
    if (press("AB")) {
        if (press("A")) {
            s.push_back('A');
        } else {
            s.push_back('B');
        }
    } else {
        if (press("X")) {
            s.push_back('X');
        } else {
            s.push_back('Y');
        }
    }

    std::string a = "A", b = "B", c = "X";
    if (s == a) {
        a = "Y";
    } else if (s == b) {
        b = "Y";
    } else if (s == c) {
        c = "Y";
    }

    for (int i = 1; i < N - 1; i++) {
        std::string t = (s + a) + (s + b + a) + (s + b + b) + (s + b + c);
        int pre = press(t);

        if (pre == i + 1) { 
            s += a;
        } else if (pre == i + 2) {
            s += b;
        } else {
            s += c;
        }
    }

    if (press(s + a) == N) {
        s += a;
    } else if (press(s + b) == N) {
        s += b;
    }  else {
        s += c;
    }

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