# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1006712 | devariaota | 콤보 (IOI18_combo) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
int n = N;
string now = "", S;
char ch[4] = {'A', 'B', 'X', 'Y'};
int k = press("AB");
if(k >= 1) {
k = press("A");
if(k == 1) now = "A";
else now = "B";
}
else {
k = press("X");
if(k >= 1) now = "X";
else now = "Y";
}
if(n == 1) return now;
for(int i = 1; i + 1 < n; i++) {
vector<char> p;
for(auto j : ch) {
if(now[0] == j) continue;
p.pb(j);
}
string hai = now + p[0] + now + p[1] + p[0] + now + p[1] + p[1] + now + p[1] + p[2];
k = press(hai);
if(k == i - 1) now = now + p[2];
else if(k == i) now = now + p[0];
else now = now + p[1];
}
int k = press(now + 'A' + now + 'B');
if(k == n) {
k = press(now + 'A');
if(k == n) S = now + 'A';
else S = now + 'B';
} else {
k = press(now + 'X');
if(k == n) S = now + 'X';
else S = now + 'Y';
}
return S;
}