Submission #1342511

#TimeUsernameProblemLanguageResultExecution timeMemory
1342511sdanCombo (IOI18_combo)C++20
5 / 100
1 ms412 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;

string guess_sequence(int N) {
    string s; vector<char> dict;
    switch(press("AB")) {
        case 2:
            s += "AB";
            dict = {'B', 'X', 'Y'};
            break;
        case 1:
            if(press("A")) s += "A", dict = {'B', 'X', 'Y'};
            else s += "B", dict = {'A', 'X', 'Y'};
            break;
        case 0:
            if(press("X")) s += "X", dict = {'A', 'B', 'Y'};
            else s += "Y", dict = {'A', 'B', 'X'};
    }
    
    while(N - s.size() > 1) {
        int p = press(s + dict[0] + dict[0] + s + dict[0] + dict[1] + s + dict[0] + dict[2] + s + dict[1]) - s.size();
        if(p == 2) s += dict[0];
        if(p == 1) s += dict[1];
        if(p == 0) s += dict[2];
    }

    int p = press(s + dict[0] + s + dict[1]) - s.size();
    if(p == 0)
        s += dict[2];
    else {
        if(press(s + dict[0]) == N) s += dict[0];
        else s += dict[1];
    }

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