Submission #1216556

#TimeUsernameProblemLanguageResultExecution timeMemory
1216556adriines06Combo (IOI18_combo)C++20
100 / 100
7 ms508 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; std::string guess_sequence(int N) { string s=""; vector<string>op; if(press("AB")>=1) { if(press("A")==1){ s+='A'; op={"BB","BX","BY","X"}; } else{ s+='B'; op={"AA","AX","AY","X"}; } } else if(press("X")==1){ s+='X'; op={"BB","BA","BY","A"}; } else{ s+='Y'; op={"BB","BX","BA","X"}; } //cout<<s<<"\n"; for (int i = 1; i < N-1; ++i) { string ns=s+string(op[0])+s+string(op[1])+s+string(op[2])+s+string(op[3]); int c=press(ns); int t=s.size(); if(s[0]=='A'){ if(c==t) s+='Y'; else if(c==t+1) s+='X'; else s+='B'; } else if(s[0]=='B'){ if(c==t) s+='Y'; else if(c==t+1) s+='X'; else s+='A'; } else if(s[0]=='X'){ if(c==t) s+='Y'; else if(c==t+1) s+='A'; else s+='B'; } else{ if(c==t) s+='A'; else if(c==t+1) s+='X'; else s+='B'; } } //cout<<s<<"\n"; if(N==1) return s; if(press(s+'A'+s+'B')==N){ if(press(s+'A')==N) s+='A'; else s+='B'; } else{ if(press(s+'X')==N) s+='X'; else s+='Y'; } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...