Submission #1298470

#TimeUsernameProblemLanguageResultExecution timeMemory
1298470khanhphucscratchCombo (IOI18_combo)C++20
100 / 100
9 ms460 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; string guess_char() { int ans = press("AB"); if(ans >= 1){ ans = press("A"); if(ans == 1) return "A"; else return "B"; } else{ ans = press("X"); if(ans == 1) return "X"; else return "Y"; } } string guess_sequence(int n) { string ans = guess_char(); vector<string> remain_char; if(ans != "A") remain_char.push_back("A"); if(ans != "B") remain_char.push_back("B"); if(ans != "X") remain_char.push_back("X"); if(ans != "Y") remain_char.push_back("Y"); //cerr<<remain_char[0]<<remain_char[1]<<remain_char[2]<<endl; while(ans.size() + 2 <= n){ int x = press(ans + remain_char[0] + remain_char[0] + ans + remain_char[0] + remain_char[1] + ans + remain_char[1] + remain_char[0]) - ans.size(); if(x == 0){ //cerr<<"A"<<x<<" "<<ans.size()<<endl; ans += remain_char[2]; continue; } else if(x == 1){ x = press(ans + remain_char[1] + remain_char[1]) - ans.size(); if(x == 0) ans += remain_char[0] + remain_char[2]; else if(x == 1) ans += remain_char[1] + remain_char[2]; else ans += remain_char[1] + remain_char[1]; } else{ x = press(ans + remain_char[0] + remain_char[0]) - ans.size(); if(x == 0) ans += remain_char[1] + remain_char[0]; else if(x == 1) ans += remain_char[0] + remain_char[1]; else ans += remain_char[0] + remain_char[0]; } } if(ans.size() < n){ int x = press(ans + remain_char[0] + ans + remain_char[1]) - ans.size(); if(x == 0) ans += remain_char[2]; else{ x = press(ans + remain_char[0]) - ans.size(); if(x == 0) ans += remain_char[1]; else ans += remain_char[0]; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...