Submission #1264539

#TimeUsernameProblemLanguageResultExecution timeMemory
1264539happyboyCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h>
using namespace std;

int press(string p);

string guess_sequence(int N) {
    char c, p, a[] = {'A', 'B', 'X', 'Y'};
    string rtn = "";
    if (press("AB") > 0) {
        if (press("A") > 0) p = 0;
        else p = 1;
    }
    else {
        if (press("X") > 0) p = 2;
        else p = 3;
    }
    rtn += a[p]; a[p] = ' '; sort(a, a + 4);
    while (rtn.size() < N - 1) {
        int query = press(rtn + a[1] + a[1] + rtn + a[1] + a[2] + rtn + a[1] + a[3] + rtn + a[2]);
        if (query == rtn.size() + 2) rtn += a[1];
        else if (query == rtn.size() + 1) rtn += a[2];
        else rtn += a[3];
    }
    if (N > 1) {
        if (press(rtn + 'A' + rtn + 'B') > rtn.size()) {
            if (press(rtn + 'A') > rtn.size()) rtn += 'A';
            else rtn += 'B';
        }
        else {
            if (press(rtn + 'X') > rtn.size()) rtn += 'X';
            else rtn += 'Y';
        }
    }
    return rtn;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...