제출 #372932

#제출 시각아이디문제언어결과실행 시간메모리
372932mariowong콤보 (IOI18_combo)C++14
5 / 100
1 ms256 KiB
#include "combo.h" std::string guess_sequence(int N) { std::string p = ""; std::string S = ""; char f,s,t; if (press("AB") >= 1){ if (press("A") == 1) S+='A'; else S+='B'; } else { if (press("X") == 1) S+='X'; else S+='Y'; } for (int i = 2; i < N; i++){ p.clear(); if (S[0] == 'A'){ p+=S; p+='B'; p+=S; p+='X'; p+='X'; p+=S; p+='X'; p+='Y'; p+=S; p+='X'; p+='B'; f='B'; s='X'; t='Y'; } if (S[0] == 'B'){ p+=S; p+='A'; p+=S; p+='X'; p+='X'; p+=S; p+='X'; p+='Y'; p+=S; p+='X'; p+='A'; f='A'; s='X'; t='Y'; } if (S[0] == 'X'){ p+=S; p+='A'; p+=S; p+='B'; p+='B'; p+=S; p+='B'; p+='Y'; p+=S; p+='B'; p+='A'; f='A'; s='B'; t='Y'; } if (S[0] == 'Y'){ p+=S; p+='A'; p+=S; p+='B'; p+='B'; p+=S; p+='B'; p+='X'; p+=S; p+='B'; p+='A'; f='A'; s='B'; t='X'; } int ct=press(p); if (ct == i) S+=f; else if (ct == i-1) S+=t; else S+=s; } if (S[0] == 'A'){ p=S+'B'; if (press(p) == N) return p; p=S+'X'; if (press(p) == N) return p; p=S+'Y'; return p; } if (S[0] == 'B'){ p=S+'A'; if (press(p) == N) return p; p=S+'X'; if (press(p) == N) return p; p=S+'Y'; return p; } if (S[0] == 'X'){ p=S+'A'; if (press(p) == N) return p; p=S+'B'; if (press(p) == N) return p; p=S+'Y'; return p; } if (S[0] == 'Y'){ p=S+'B'; if (press(p) == N) return p; p=S+'X'; if (press(p) == N) return p; p=S+'A'; return p; } return S; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...