# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1216434 | porquenomedejainiciarsesion | 콤보 (IOI18_combo) | C++20 | 8 ms | 484 KiB |
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string s="";
string guess_sequence(int N){
if(N==1){
if(press("A")){
return "A";
}
if(press("B")){
return "B";
}
if(press("X")){
return "X";
}
return "Y";
}
if(press("AB")){
if(press("A")){
s+="A";
int n=1;
while(n<N-1){
int a=press(s+"B"+s+"XB"+s+"XX"+s+"XY");
n=s.size();
if(a==n){
s+="Y";
}else if(a==n+1){
s+="B";
}else{
s+="X";
}
n=s.size();
}
if(press(s+"X")==N){
s+="X";
}else if(press(s+"Y")==N){
s+="Y";
}else{
s+="B";
}
}else{
s+="B";
int n=1;
while(n<N-1){
int a=press(s+"A"+s+"XA"+s+"XX"+s+"XY");
n=s.size();
if(a==n){
s+="Y";
}else if(a==n+1){
s+="A";
}else{
s+="X";
}
n=s.size();
}
if(press(s+"X")==N){
s+="X";
}else if(press(s+"Y")==N){
s+="Y";
}else{
s+="A";
}
}
}else{
if(press("X")){
s+="X";
int n=1;
while(n<N-1){
int a=press(s+"B"+s+"AB"+s+"AA"+s+"AY");
n=s.size();
if(a==n){
s+="Y";
}else if(a==n+1){
s+="B";
}else{
s+="A";
}
n=s.size();
}
if(press(s+"A")==N){
s+="A";
}else if(press(s+"Y")==N){
s+="Y";
}else{
s+="B";
}
}else{
s+="Y";
int n=1;
while(n<N-1){
int a=press(s+"A"+s+"XA"+s+"XX"+s+"XB");
n=s.size();
if(a==n){
s+="B";
}else if(a==n+1){
s+="A";
}else{
s+="X";
}
n=s.size();
}
if(press(s+"X")==N){
s+="X";
}else if(press(s+"B")==N){
s+="B";
}else{
s+="A";
}
}
}
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |