#include <bits/stdc++.h>
#include "combo.h"
// #include "grader.cpp"
using namespace std;
#define all(x) x.begin(), x.end()
#define nl '\n'
const int M = 4;
char let[M] = {'A', 'B', 'X', 'Y'};
int guess_one(string s) {
int len = press(s + let[0] + s + let[1]);
int idx = 2 * (len < (int)s.size() + 1);
len = press(s + let[idx]);
idx += (len < (int)s.size() + 1);
return idx;
}
string guess_sequence(int N) {
int idx[M];
for(int i = 0; i < M; i++) idx[i] = i;
string s;
{
int id = guess_one(s);
s += let[id];
swap(idx[id], idx[M - 1]);
}
for(int i = 0; i < N - 2; i++) {
string z;
for(int j = 0; j < M - 1; j++) {
z += s + let[idx[0]] + let[idx[j]];
}
z += s + let[idx[1]];
int len = press(z);
if(len == i + 1) {
s += let[idx[2]];
} else if(len == i + 2) {
s += let[idx[1]];
} else {
s += let[idx[0]];
}
}
if(N > 1) {
int id = guess_one(s);
s += let[id];
}
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |