#include "combo.h"
using namespace std;
std::string guess_sequence(int N) {
if(N == 1){
if(press("A")) return "A";
else if(press("B")) return "B";
else if(press("X")) return "X";
else return "Y";
}
int a = press("AB");
string cur = "";
if(a > 1){
cur += "AB";
}
else if(a == 1){
if(press("A")) cur += "A";
else cur += "B";
}
else{
if(press("X")) cur += "X";
else cur += "Y";
}
char arr[3];
if(cur[0] == 'A') arr[0] = 'B',arr[1] = 'X',arr[2] = 'Y';
if(cur[0] == 'B') arr[0] = 'A',arr[1] = 'X',arr[2] = 'Y';
if(cur[0] == 'X') arr[0] = 'A',arr[1] = 'B',arr[2] = 'Y';
if(cur[0] == 'Y') arr[0] = 'A',arr[1] = 'B',arr[2] = 'X';
while(cur.size() < N-1){
string n = "";
n += cur+arr[1];
n += cur+arr[2]+arr[0];
n += cur+arr[2]+arr[1];
n += cur+arr[2]+arr[2];
a = press(n);
if(a == cur.size()) cur+=arr[0];
else if(a == cur.size()+1) cur+=arr[1];
else cur+=arr[2];
}
if(press(cur+arr[0]) == N) return cur+arr[0];
else if(press(cur+arr[1]) == N) return cur+arr[1];
else return cur+arr[2];
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |