제출 #345911

#제출 시각아이디문제언어결과실행 시간메모리
345911Iwanttobreakfree콤보 (IOI18_combo)C++14
0 / 100
1 ms200 KiB
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include "combo.h" using namespace std; string guess_sequence(int N) { string p; string S; string implementar; int guardado; bool A,B,X,Y; p = "AB"; for (int i = 0; i < N-2; ++i) { p += 'B'; } int coins = press(p); if(coins==0){//Empieza x X o Y string p = "XA"; for (int i = 0; i < N-2; ++i) { p += 'A'; } int coins=press(p); if (coins==0){//Empieza x Y S[0]='Y'; Y=false; } else if (coins==1){//Empieza x X y no sigue A S[0]='X'; A=false; } else { for(int c=0;c<coins;c++){//Empieza x X y sigue A S[c]=p[c]; } A=false; } } else if(coins==1){//Empieza x A o x B p="BX"; for (int i = 0; i < N-2; ++i) { p += 'X'; } int coins=press(p); if(coins==0){//Empieza x A y no sigue B S[0]='A'; B=false; } else if (coins==1){//Empieza x B y no sigue X S[0]='B'; X=false; } else { for(int c=0;c<coins;c++){//Empieza x B y sigue X S[c]=p[c]; } X=false; } } else {//Empieza x A y sigue B for(int c=0;c<coins;c++){ S[c]=p[c]; } B=false; } guardado=coins; while(coins<N){ if (S[0]=='A'){ for (int i = 0; i < N-coins; ++i) { if (B) { implementar += 'B'; B=false; } else if (X) { implementar += 'X'; X=false; } else if (Y) { implementar += 'Y'; Y=false; } } } else if (S[0]=='B'){ for (int i = 0; i < N-coins; ++i) { if (A) { implementar += 'A'; A=false; } else if (X) { implementar += 'X'; X=false; } else if (Y) { implementar += 'Y'; Y=false; } } } else if (S[0]=='X'){ for (int i = 0; i < N-coins; ++i) { if (A) { implementar += 'A'; A=false; } else if (B) { implementar += 'B'; B=false; } else if (Y) { implementar += 'Y'; Y=false; } } } else if (S[0]=='Y'){ for (int i = 0; i < N-coins; ++i) { if (A) { implementar += 'A'; A=false; } else if (B) { implementar += 'B'; B=false; } else if (X) { implementar += 'X'; X=false; } } } int coins=press(S+implementar); if (coins>guardado){ A=true; B=true; X=true; Y=true; for(int c=0;c<coins-guardado;c++){ S[guardado+c]+=implementar[c]; } guardado=coins; } } return S; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...