Submission #1311331

#TimeUsernameProblemLanguageResultExecution timeMemory
1311331tschav_Combo (IOI18_combo)C++20
0 / 100
1 ms400 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;

string guess_sequence(int N) {
    if(N==1){
        string s1 = "A";
        if(press(s1)==1) return s1;
        string s2 = "B";
        if(press(s2)==1) return s2;
        string s3 = "X";    
        if(press(s3)==1) return s3;
        return "Y";
    }
    string s1 = "AB";
    string s2 = "XY";
    char init;
    int a1 = press(s1);
    if(a1 == 2) init = 'A';
    if(a1 == 1) {
        string s3 = "B";
        int a3 = press(s3);
        if(a3) init = 'B';
        else init = 'A';
    } else {
        string s4 = "X";
        int a4 = press(s4);
        if(a4) init = 'X';
        else init = 'Y';
    }

    string S(N, init);
    string last = "";
    last += init;
    set<char> st;
    st.insert('A');
    st.insert('B');
    st.insert('X');
    st.insert('Y');
    st.erase(init);
    char c[3];
    int ptr = 0;
    for(auto &ch : st) {
        c[ptr++] = ch;
    }
    for(int i = 1; i+1 < N; i++) {
        string Q;
        Q += last;
        Q += c[0];
        Q += last;
        Q += c[1];
        Q += c[0];
        Q += last;
        Q += c[1];
        Q += c[1];
        Q += last;
        Q += c[1];
        Q += c[2];
        int res = press(Q);
        if(res == last.size()+1){
            S[i] = c[0];
            last += c[0];
        }else if(res == last.size()+2){
            S[i] = c[1];
            last += c[1];
        }else{
            S[i] = c[2];
            last += c[2];
        }
    }

    string Q = last + c[0];
    int res = press(Q);
    if(res == last.size()+1){
        S[N-1] = c[0];
    }else{
        Q = last + c[1];
        res = press(Q);
        if(res == last.size()+1){
            S[N-1] = c[1];
        }else{
            S[N-1] = c[2];
        }
    }

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