| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1311555 | aleksandre | 콤보 (IOI18_combo) | C++20 | 0 ms | 0 KiB |
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
char k;
if (press("AB") > 0) {
if (press("B") > 0) k = 'B';
else k = 'A';
} else {
if (press("X") > 0) k = 'X';
else k = 'Y';
}
vector<char> v;
for (char c : {'A','B','X','Y'}) {
if (c != k) v.push_back(c);
}
string S(1, k);
for (int i = 1; i < N-1; i++) {
string curr = S + v[0] + v[0] + S + v[0] + v[1] + S + v[0] + v[2] + S + v[1];
int res = press(curr);
if (res == i + 2) {
S += v[0];
} else if (res == i + 1) {
S += v[1];
} else {
S += v[2];
}
if (N > 1) {
string curr = S + v[0] + S+v[1];
if (press(curr)==N) {
curr = S+v[0];
if (press(curr)==N) {
S = S + v[0];
} else {
S = S+v[1];
}
} else {
S = S+v[2];
}
}
return S;
}
