#include <bits/stdc++.h>
using namespace std;
#define Jungle "ioi18p1"
#define REP(i,n) for (int i = 0; i < (n); ++i)
const int M = 4;
const char LET[M] = { 'A', 'B', 'X', 'Y' };
string S;
int N;
int qcnt = 0;
int press(string s);
int guess_one(const string &s)
{
int len = press(s + LET[0] + s + LET[1]);
int idx = 2 * (len < (int)s.length() + 1);
len = press(s + LET[idx]);
idx += (len < (int)s.length() + 1);
return idx;
}
string guess_sequence(int N)
{
int idx[M];
REP(i, M)
idx[i] = i;
string s;
{
int id = guess_one(s);
s += LET[id];
swap(idx[id], idx[M - 1]);
}
REP(i, N - 2)
{
string z;
REP(j, M - 1)
{
z += s;
z.push_back(LET[idx[0]]);
z.push_back(LET[idx[j]]);
}
z += s;
z.push_back(LET[idx[1]]);
int len = press(z);
if (len == i + 3)
s.push_back(LET[idx[0]]);
else if (len == i + 2)
s.push_back(LET[idx[1]]);
else
s.push_back(LET[idx[2]]);
}
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... |