Submission #1301785

#TimeUsernameProblemLanguageResultExecution timeMemory
1301785PakinDioxideCombo (IOI18_combo)C++17
97 / 100
10 ms516 KiB
#include "combo.h"
#include <bits/stdc++.h>

using namespace std;

string guess_sequence(int n) {
    vector <string> v;
    string s = "";
    if (!press("X")) v.emplace_back("X");
    else s = "X";
    if (!press("Y")) v.emplace_back("Y");
    else s = "Y";
    if (!press("A")) v.emplace_back("A");
    else s = "A";
    if (v.size() == 2) v.emplace_back("B");
    else s = "B";
    for (int i = 1; i < n-1; i++) {
        string ask = s;
        ask += v[0];
        for (int i = 0; i < 3; i++) ask += (s + v[1] + v[i]);
        int k = press(ask) - s.size();
        if (k == 0) s += v[2];
        else if (k == 1) s += v[0];
        else s += v[1];
    }
    if (n > 1) {
        if (press(s + v[0]) == n) s += v[0];
        else if (press(s + v[1]) == n) s += v[1];
        else s += v[2];
    }
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...