이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
#include <algorithm>
using namespace std;
std::string guess_sequence(int N) {
/*std::string p = "";
for (int i = 0; i < 4 * N; ++i) {
p += 'A';
}
int coins = press(p);
std::string S = "";
for (int i = 0; i < N; ++i) {
S += 'A';
}
return S;*/
int n = N;
string s = "";
string ans = "";
s = "AB";
int a = press (s);
if (a == 2) ans += 'A';
else if (a == 1) {
a = press ("A");
if (a == 1) ans += 'A';
else ans += 'B';
}
else {
a = press ("X");
if (a == 1) ans += 'X';
else ans += 'Y';
}
char b = ans[0];
for (int i = 2; i < n; i++) {
int x = ans.size();
s = "";
if (b == 'A') {
s += ans + "BX", s += ans + "BY",
s += ans + "BB", s += ans + "X";
a = press (s);
if (a == x + 2) ans += 'B';
else if (a == x + 1) ans += 'X';
else ans += 'Y';
}
if (b == 'B') {
s += ans + "AX", s += ans + "AY",
s += ans + "AA", s += ans + "X";
a = press (s);
if (a == x + 2) ans += 'A';
else if (a == x + 1) ans += 'X';
else ans += 'Y';
}
if (b == 'X') {
s += ans + "BA", s += ans + "BY",
s += ans + "BB", s += ans + "A";
a = press (s);
if (a == x + 2) ans += 'B';
else if (a == x + 1) ans += 'A';
else ans += 'Y';
}
if (b == 'Y') {
s += ans + "BX", s += ans + "BA",
s += ans + "BB", s += ans + "X";
a = press (s);
if (a == x + 2) ans += 'B';
else if (a == x + 1) ans += 'X';
else ans += 'A';
}
}
if (n > 1) {
int x = ans.size();
s = ans + 'A' + ans + 'B';
a = press (s);
if (a == x + 1) {
s = ans + 'A';
a = press (s);
if (a == x + 1)
ans += 'A';
else
ans += 'B';
}
else {
s = ans + 'X';
a = press (s);
if (a == x + 1)
ans += 'X';
else
ans += 'Y';
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |