제출 #690535

#제출 시각아이디문제언어결과실행 시간메모리
690535zeroesandones콤보 (IOI18_combo)C++17
100 / 100
33 ms884 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; using ll = long long; using vi = vector<long long>; #define pb emplace_back std::string guess_sequence(int n) { char first = ' '; string res = ""; vector<char> left; set<char> moves = {'A', 'B', 'X', 'Y'}; int ab = press("AB"); int ax = press("AX"); if(ab && ax) first = 'A'; else if(ab) first = 'B'; else if(ax) first = 'X'; else first = 'Y'; res += first; moves.erase(first); for(auto i : moves) left.pb(i); if(n == 1) return res; for(int i = 1; i < n - 1; ++i) { string try1 = res + left[0]; string try2 = res + left[1]; string try21 = try2 + left[0]; string try22 = try2 + left[1]; string try23 = try2 + left[2]; ll curr = press(try1 + try21 + try22 + try23); if(curr == i + 2) res += left[1]; else if(curr == i + 1) res += left[0]; else res += left[2]; } ll try1 = press(res + left[0]); if(try1 == n) return res + left[0]; try1 = press(res + left[1]); if(try1 == n) return res + left[1]; return res + left[2]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...