#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string others(char x) {
switch (x) {
case 'A': return "BXY";
case 'B': return "AXY";
case 'X': return "ABY";
case 'Y': return "ABX";
}
assert(false);
}
string guess(int N, char init) {
string ans;
ans.push_back(init);
if (N == 1)
return ans;
string o = others(init);
for (int i = 1; i < N - 1; i++) {
int m = press(ans + o[0] + o[0] + ans + o[0] + o[1] + ans + o[0] + o[2] + ans + o[1]);
if (m == i) ans.push_back(o[2]);
else if (m == i + 1) ans.push_back(o[1]);
else if (m == i + 2) ans.push_back(o[0]);
else assert(false);
}
if (press(ans + o[0]) == N)
return ans + o[0];
if (press(ans + o[1]) == N)
return ans + o[1];
return ans + o[2];
}
string guess_sequence(int N) {
if (press("AB") != 0) {
if (press("A")) {
return guess(N, 'A');
} else {
return guess(N, 'B');
}
} else {
if (press("X")) {
return guess(N, 'X');
} else {
return guess(N, 'Y');
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |