Submission #1277673

#TimeUsernameProblemLanguageResultExecution timeMemory
1277673charlestiCombo (IOI18_combo)C++20
10 / 100
13 ms488 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;

string Ss[100] = {"A", "B", "X", "Y"};
string s[100];
std::string guess_sequence(int N) {
//    cout << N << "\n";
    string p;
    int f = 0;
    if(press("XA")==1 && press("YA")==1 && press("BA")==1) f = 0;
    else if(press("XB")==1 && press("YB")==1 && press("AB")==1) f = 1;
    else if(press("YX")==1 && press("AX")==1 && press("BX")==1) f = 2;
    else f = 3;

    p += Ss[f];
    int cnt = 0;
    for(int i=0; i<4; i++) if(i!=f) s[cnt++] = Ss[i];
    int sz = 1;

    while(sz < N){
        string cpy = p;
        string a;
//        if(sz <= N-10) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
//        else if(sz <= N-9) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
//        else if(sz <= N-8) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
//        if(sz <= N-7) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
//        else if(sz <= N-6) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
//        else if(sz <= N-5) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
//        else if(sz <= N-4) a = s[rand()%3] + s[rand()%3] + s[rand()%3] + s[rand()%3];
        if(sz <= N-3) a = s[rand()%3] + s[rand()%3] + s[rand()%3];
        else if(sz <= N-2) a = s[rand()%3] + s[rand()%3];
        else if(sz <= N-1) a = s[rand()%3];
//        cout << cpy+a << "]\n";
        int c = press(cpy+a);
        int dif = c - sz;

        for(int i=0; i<dif; i++) p += a[i];
//        cout << p << ")\n";
        sz = c;
    }

    return p;

}
/*
ABXYBXYBYXBYBYXBYBYXBY
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...