Submission #926400

#TimeUsernameProblemLanguageResultExecution timeMemory
926400HaciyevAlikCombo (IOI18_combo)C++14
100 / 100
14 ms1980 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

string guess_sequence(int N) {
    char arr[4] = {'A','B','X','Y'};
    string temp="";
    char ex;
    if(press("AB")) {
        if(press("A")) {
            ex='A';
        } else {
            ex='B';
        }
    } else {
        if(press("X")) {
            ex='X';
        } else {
            ex='Y';
        }
    }
    temp += ex;
    if(N==1) return temp;
    vector<char> c;
    for(int i=0;i<4;++i){
        if(arr[i]!=ex) c.push_back(arr[i]);
    }
    for(int i=1;i<N-1;++i) {
        string cur=temp;
        cur+=c[0];
        cur+=temp;
        cur+=c[1]; cur+=c[0];
        cur+=temp;
        cur+=c[1]; cur+=c[1];
        cur+=temp;
        cur+=c[1]; cur+=c[2];
        int p=press(cur);
        if(p == int(temp.size())) {
            temp += c[2];
        } else if(p == int(temp.size())+1) {
            temp += c[0];
        } else {
            temp += c[1];
        }
    }
    if(press(temp+c[0])==N) {
        return temp+c[0];
    }
    if(press(temp+c[1])==N) {
        return temp+c[1];
    }
    return temp+c[2];
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...