Submission #127409

#TimeUsernameProblemLanguageResultExecution timeMemory
127409AlexLuchianovCombo (IOI18_combo)C++14
100 / 100
59 ms756 KiB
#include "combo.h" #include <iostream> #include <fstream> #include <cstring> using namespace std; std::string guess_sequence(int N) { std::string p = ""; if(0 < press("AB")) if(press("A")) p = "A"; else p = "B"; else if(press("Y")) p = "Y"; else p = "X"; string init = p; for(int i = 2 ; i < N ; i++){ if(init == "A") { string que = p + "X" + p + "YX" + p + "YY" + p + "YB"; int coins = press(que); if(coins == i - 1) p += "B"; else if(coins == i) p += "X"; else p += "Y"; } else if(init == "B"){ string que = p + "X" + p + "YX" + p + "YY" + p + "YA"; int coins = press(que); if(coins == i - 1) p += "A"; else if(coins == i) p += "X"; else p += "Y"; } else if(init == "X"){ string que = p + "B" + p + "YB" + p + "YY" + p + "YA"; int coins = press(que); if(coins == i - 1) p += "A"; else if(coins == i) p += "B"; else p += "Y"; } else { string que = p + "X" + p + "AX" + p + "AA" + p + "AB"; int coins = press(que); if(coins == i - 1) p += "B"; else if(coins == i) p += "X"; else p += "A"; } } if(1 < N){ if(press(p + "X" + p + "Y") == N) if(press(p + "X") == N) p += "X"; else p += "Y"; else if(press(p + "A") == N) p += "A"; else p += "B"; } return p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...