#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
string res = "", query;
// find first char of string
if (!N) return res;
if (press("AB")) {
if (press("A")) res += 'A';
else res += 'B';
} else {
if (press("X")) res += 'X';
else res += 'Y';
}
if (N == 1) return res;
if (res[0] == 'A') {
// ABX
// ABXABYABBAX
for (int i = 2; i < N; i++) {
query = res + "BX" + res + "BY" + res + "BB" + res + "X";
int val = press(query);
if (val == int(res.length()) + 2) res += 'B';
else if (val == int(res.length()) + 1) res += 'X';
else res += 'Y';
}
if (press(res + 'B') == N) res += 'B';
else if (press(res + 'X') == N) res += 'X';
else res += 'Y';
} else if (res[0] == 'B') {
for (int i = 2; i < N; i++) {
query = res + "AX" + res + "AY" + res + "AA" + res + "X";
int val = press(query);
if (val == int(res.length() + 2)) res += 'A';
else if (val == int(res.length()) + 1) res += 'X';
else res += 'Y';
}
if (press(res + 'A') == N) res += 'A';
else if (press(res + 'X') == N) res += 'X';
else res += 'Y';
} else if (res[0] == 'X') {
for (int i = 2; i < N; i++) {
query = res + "AB" + res + "AY" + res + "AA" + res + "Y";
int val = press(query);
if (val == int(res.length()) + 2) res += 'A';
else if (val == int(res.length()) + 1) res += 'Y';
else res += 'B';
}
if (press(res + 'A') == N) res += 'A';
else if (press(res + 'B') == N) res += 'B';
else res += 'Y';
} else {
for (int i = 2; i < N; i++) {
query = res + "AB" + res + "AX" + res + "AA" + res + "X";
int val = press(query);
if (val == int(res.length()) + 2) res += 'A';
else if (val == int(res.length()) + 1) res += 'X';
else res += 'B';
}
if (press(res + 'A') == N) res += 'A';
else if (press(res + 'B') == N) res += 'B';
else res += 'X';
}
return res;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |