Submission #566321

#TimeUsernameProblemLanguageResultExecution timeMemory
566321elazarkorenCombo (IOI18_combo)C++17
30 / 100
54 ms468 KiB
#include <bits/stdc++.h>
#include "combo.h"
#define x first
#define y second
#define all(v) v.begin(), v.end()
#define chkmin(a, b) a = min(a, b)
#define chkmax(a, b) a = max(a, b)
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;
typedef vector<pii> vii;

mt19937 rng(time(0));

char letters[] = {'A', 'B', 'X', 'Y'};

string guess_sequence(int n) {
    string p = "";
    for (int i = 0; i < n; i++) {
        shuffle(letters, letters + 4, rng);
        string curr = p + "A" + p + "B";
        if (press(curr) >= i + 1) {
            curr = p + "A";
            if (press(curr) >= i + 1) p.push_back('A');
            else p.push_back('B');
        } else {
            curr = p + "X";
            if (press(curr) >= i + 1) p.push_back('X');
            else p.push_back('Y');
        }
//        for (char c : letters) {
//            if (i && c == p[0]) continue;
//            p.push_back(c);
//            if (press(p) == p.size()) break;
//            p.pop_back();
//        }
    }
    return p;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...