Submission #779756

#TimeUsernameProblemLanguageResultExecution timeMemory
779756mindiyakCombo (IOI18_combo)C++14
30 / 100
31 ms556 KiB
#include "combo.h" #include <string> #include <iostream> #include <vector> using namespace std; int vpress(string a){ int val = press(a); // cout << "try - " << a << " - " << val << endl; return val; } string guess_sequence(int N) { string ans = ""; vector<char> possible = {'A','B','X','Y'};; if(vpress("AB") >= 1){ if(vpress("A") == 1){ ans = "A"; possible.erase(possible.begin()+0); }else{ ans = "B"; possible.erase(possible.begin()+1); } }else{ if(vpress("X") == 1){ ans = "X"; possible.erase(possible.begin()+2); }else{ ans = "Y"; possible.erase(possible.begin()+3); } } if(N == 1) return ans; int counter = 1; while(counter < N){ int val1 = vpress(ans+string(N-counter,possible[0]) + ans+string(N-counter,possible[1])); int val2 = vpress(ans+string(N-counter,possible[0]) + ans+string(N-counter,possible[2])); if(val1 > counter and val2 > counter){ ans = ans + string(val1-counter,possible[0]); counter = val1; }else if(val1 > counter){ ans = ans + string(val1-counter,possible[1]); counter = val1; }else if(val2 > counter){ ans = ans + string(val2-counter,possible[2]); counter = val2; } // cout << "ans -> " << ans << endl; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...