#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <cassert>
using namespace std;
int press(string p);
string guess_sequence(int N)
{
string res = "";
string letters = "";
if (press("A")) res = "A";
else if (press("B")) res = "B";
else if (press("X")) res = "X";
else res = "Y";
if (N == 1) return res;
for(string s : {"A", "B", "X", "Y"})
{
if(s == res) continue;
letters += s;
}
assert(letters.size() == 3);
for(int i = 1 ; i < N - 1 ; ++i)
{
int ans = press(res + letters[0] +
res + letters[1] + letters[0] +
res + letters[1] + letters[1] +
res + letters[1] + letters[2]);
int len = (int)res.size();
if (ans == len) res += letters[2];
else if (ans == len + 1) res += letters[0];
else res += letters[1];
}
if (press(res + "A") == N) res += "A";
else if (press(res + "B") == N) res += "B";
else if (press(res + "X") == N) res += "X";
else res += "Y";
assert((int)res.size() == N);
return res;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |