Submission #1195637

#TimeUsernameProblemLanguageResultExecution timeMemory
1195637Cebrayil09Combo (IOI18_combo)C++20
0 / 100
19 ms412 KiB
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

int press(string s);

string guess_sequence(int n) {
    char hrf[4] = {'A', 'B', 'X', 'Y'};
    char bas = '1';

    for(auto &p : hrf) {
        string s = "";
        s.pb(p);

        if(press(s) == 1) {
            bas = p;
            break;
        }
    }

    string s = "";
    s.pb(bas);

    char pre = 'Q';
    while(s.size() != n) {
        string sub = s;
        string test = "";

        for(auto &p : hrf) {
            if(p == bas || p == pre) continue;

            map< int , int > m;
            while(test.size() + sub.size() + 1 <= 4*n && sub.size() <= n) {
                sub.pb(p);

                m[sub.size()] = test.size();
                test += sub;
            }

            int say = press(test);
            if(say == s.size()) break;

            s = test.substr(m[say], say);
            pre = p;
            break;
        }
    }

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