이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
#include "bits/stdc++.h"
using namespace std;
typedef vector<int> vi;
typedef vector<vi> vvi;
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
string guess_sequence(int N)
{
string p;
p = "AB";
string start;
if (press(p))
start = (press("A")) ? "A" : "B";
else
start = (press("X")) ? "X" : "Y";
if (N == 1)
return start;
vector<char> remaining = {'A', 'B', 'X', 'Y'};
for (int i = 0; i < 3; ++i)
if (remaining[i] == start[0])
swap(remaining[i], remaining.back());
remaining.pop_back();
for (int i = 1; i < N - 1; ++i)
{
p = "";
p += start + remaining[0];
for (int j = 0; j < 3; ++j)
p += start + remaining[1] + remaining[j];
int tmp = press(p) - i;
if (tmp == 0)
start += remaining[2];
else if (tmp == 1)
start += remaining[0];
else if (tmp == 2)
start += remaining[1];
else
assert(false);
}
if (press(start + remaining[0]) == N)
start += remaining[0];
else if (press(start + remaining[1]) == N)
start += remaining[1];
else
start += remaining[2];
assert(sz(start) == N);
return start;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |