Submission #1359628

#TimeUsernameProblemLanguageResultExecution timeMemory
1359628ericl23302Combo (IOI18_combo)C++20
5 / 100
0 ms348 KiB
#include "combo.h"

#include <algorithm>
#include <numeric>
#include <string>
#include <vector>

using namespace std;

std::string guess_sequence(int N) {
    string s;
    string c = "ABXY";
    if (press("AB")) {
        if (press("A"))
            s += 'A';
        else
            s += 'B';
    } else {
        if (press("X"))
            s += 'X';
        else
            s += 'Y';
    }

    string newC = "";
    for (auto& i : c) {
        if (i != s[0]) newC += i;
    }

    for (int i = 0; i < N - 2; ++i) {
        int ret = press(s + newC[0] + newC[0] + s + newC[0] + newC[1] + s + newC[0] + newC[2] + s +
                        newC[1]);
        if (ret == i + 3)
            s += newC[0];
        else if (ret == i + 2)
            s += newC[1];
        else
            s += newC[2];
    }

    if (press(s + newC[0]) == N)
        s += newC[0];
    else if (press(s + newC[1]) == N)
        s += newC[1];
    else
        s += newC[2];
    return s;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...