Submission #1245276

#TimeUsernameProblemLanguageResultExecution timeMemory
1245276boyan2010콤보 (IOI18_combo)C++20
100 / 100
7 ms548 KiB
#include<bits/stdc++.h> #include "combo.h" using namespace std; string guess_sequence(int N) { if(N==1) { int coins=press("A"); if(coins==0) { coins=press("B"); if(coins==0) { coins=press("X"); if(coins==0) { return "Y"; } return "X"; } return "B"; } return "A"; } string p = "AB",S; char f; int coins=press(p); if(coins==0) { p="X"; coins=press(p); if(coins==0) { S="Y"; f='Y'; } else { S="X"; f='X'; } } else { p="A"; coins=press(p); if(coins==0) { S="B"; f='B'; } else { S="A"; f='A'; } } while(S.length()<N-1) { if(f=='A') { p=S+"BB"+S+"BX"+S+"BY"+S+"X"; coins=press(p); if(coins==S.length()+2) { S.push_back('B'); } else if(coins==S.length()+1) { S.push_back('X'); } else { S.push_back('Y'); } } else if(f=='B') { p=S+"AA"+S+"AX"+S+"AY"+S+"X"; coins=press(p); if(coins==S.length()+2) { S.push_back('A'); } else if(coins==S.length()+1) { S.push_back('X'); } else { S.push_back('Y'); } } else if(f=='X') { p=S+"AA"+S+"AB"+S+"AY"+S+"B"; coins=press(p); if(coins==S.length()+2) { S.push_back('A'); } else if(coins==S.length()+1) { S.push_back('B'); } else { S.push_back('Y'); } } else { p=S+"AA"+S+"AB"+S+"AX"+S+"B"; coins=press(p); if(coins==S.length()+2) { S.push_back('A'); } else if(coins==S.length()+1) { S.push_back('B'); } else { S.push_back('X'); } } } if(f=='A') { p=S+"B"+S+"X"; coins=press(p); if(coins==N) { coins=press(S+"B"); if(coins==N) { S.push_back('B'); } else { S.push_back('X'); } } else { S.push_back('Y'); } } else if(f=='B') { p=S+"A"+S+"X"; coins=press(p); if(coins==N) { coins=press(S+"A"); if(coins==N) { S.push_back('A'); } else { S.push_back('X'); } } else { S.push_back('Y'); } } else if(f=='X') { p=S+"A"+S+"B"; coins=press(p); if(coins==N) { coins=press(S+"A"); if(coins==N) { S.push_back('A'); } else { S.push_back('B'); } } else { S.push_back('Y'); } } else { p=S+"A"+S+"B"; coins=press(p); if(coins==N) { coins=press(S+"A"); if(coins==N) { S.push_back('A'); } else { S.push_back('B'); } } else { S.push_back('X'); } } return S; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...