# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1215036 | takoshanava | 콤보 (IOI18_combo) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int n){
string ans = "";
int x = press("AB");
if(x == 1){
int y = press("A");
if(y == 1){
ans += 'A';
}else{
ans += 'B';
}
}else{
int y = press("X");
if(y == 1){
ans += 'X';
}else{
ans += 'Y';
}
}
char a, b, c;
if(ans[0] == 'A') a = 'B', b = 'X', c = 'Y';
if(ans[0] == 'B') a = 'A', b = 'X', c = 'Y';
if(ans[0] == 'X') a = 'B', b = 'A', c = 'Y';
if(ans[0] == 'Y') a = 'B', b = 'X', c = 'A';
while(ans.size() <= n - 2){
string s = ans;
int N = ans.size();
int y = press(s+a+a+s+a+b+s+a+c+s+c);
if(y == N + 2) ans += a;
else if(y == N + 1) ans += c;
else if(y == N) ans += b;
}
int y = press(ans + a);
if(y == n) ans += a;
int k = press(ans + b)
if(k == n) ans += b;
if(ans.size() == n) return ans;
ans += c;
return ans;
}