Submission #1207910

#TimeUsernameProblemLanguageResultExecution timeMemory
1207910sameerCombo (IOI18_combo)C++20
100 / 100
6 ms468 KiB
#include "combo.h" using namespace std; string guess_sequence(int n) { string ans, t; int i, j, k; char s[4] = {'A', 'B', 'X', 'Y'}; t.push_back('A'); t.push_back('B'); if(press(t)){ t.clear(); t.push_back('A'); (press(t))? ans.push_back('A'): ans.push_back('B'); } else{ t.clear(); t.push_back('X'); (press(t))? ans.push_back('X'): ans.push_back('Y'); } for( j = 0; ; j++) if(s[j] == ans[0]) break; for( i = 1; i < n-1; i++){ t.clear(); t += ans; t.push_back(s[(j+1) % 4]); t += ans; t.push_back(s[(j+2) % 4]); t.push_back(s[(j+1) % 4]); t += ans; t.push_back(s[(j+2) % 4]); t.push_back(s[(j+2) % 4]); t += ans; t.push_back(s[(j+2) % 4]); t.push_back(s[(j+3) % 4]); k = press(t); if(k == ans.size()) ans.push_back(s[(j+3) % 4]); else if(k == ans.size()+1) ans.push_back(s[(j+1) % 4]); else ans.push_back(s[(j+2) % 4]); } if(n > 1){ t.clear(); t += ans; t.push_back(s[(j+1) % 4]); t += ans; t.push_back(s[(j+2) % 4]); if(press(t) != ans.size()){ t.clear(); t += ans; t.push_back(s[(j+1) % 4]); (press(t) != ans.size())? ans.push_back(s[(j+1) % 4]): ans.push_back(s[(j+2) % 4]); } else ans.push_back(s[(j+3) % 4]); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...