이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "combo.h"
#define pii pair<int, int>
#define pll pair<long long, long long>
#define ll long long
#define ld long double
#define st first
#define nd second
#define pb push_back
#define INF INT_MAX
using namespace std;
string btn = "ABXY";
string guess_sequence(int N) {
char bg;
if (press("AB"))
if (press("A")) bg = 'A';
else bg = 'B';
else
if (press("X")) bg = 'X';
else bg = 'Y';
if (N == 1) {
string ans;
ans += bg;
return ans;
}
string rmn;
string ans(N, bg);
for (int i = 0; i < 4; ++i) {
if (btn[i] == bg) continue;
rmn += btn[i];
}
for (int i = 1; i < N-1; ++i) {
string guess;
for (int j = 0; j < 4; ++j) guess += ans;
guess[i] = rmn[0];
guess[i+1] = rmn[0];
guess[i+N] = rmn[0];
guess[i+N+1] = rmn[1];
guess[i+2*N] = rmn[0];
guess[i+2*N+1] = rmn[2];
guess[i+3*N] = rmn[1];
int k = press(guess);
if (k == i) {
ans[i] = rmn[2];
}
else if (k == i+1) {
ans[i] = rmn[1];
}
else {
ans[i] = rmn[0];
}
}
for (int i = 0; i < 2; ++i) {
ans[N-1] = rmn[i];
if (press(ans) == N) {
return ans;
}
}
ans[N-1] = rmn[2];
return ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |