Submission #1100460

#TimeUsernameProblemLanguageResultExecution timeMemory
1100460dzhoz0Combo (IOI18_combo)C++17
30 / 100
40 ms956 KiB
/*
    ghmt the cutie :3
          UwU
*/
#include "combo.h"

#include <bits/stdc++.h>
using namespace std;

#define INF 1e18
#define f first
#define s second
#define pii pair<int, int>
#define vi vector<int>


string guess_sequence(int N) {
    mt19937 rng(69420);
    vector<char> v = {'A', 'B', 'X', 'Y'};
    string p = "";
    for(int i = 0; i < 3; i++) {
        char c = v[i];
        p += c;
        if(press(p) == 1) {
            reverse(v.begin() + i, v.end());
            break;
        }
        p.pop_back();
    }
    if(p == "") p += v[3];
    v.pop_back();
    // cout << v.size() << '\n';
    for(int i = 1; i < N; i++) {
        shuffle(v.begin(), v.end(), rng);
        for(int j = 0; j < 2; j++) {
            p += v[j];
            if(press(p) == i + 1) {
                break;
            }
            p.pop_back();
        }
        if((int)p.size() != i + 1) {
            p += v[2];
        }
    }
    return p;
}



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