Submission #1178709

#TimeUsernameProblemLanguageResultExecution timeMemory
1178709shirokitoCombo (IOI18_combo)C++20
100 / 100
7 ms524 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; using ll = long long; #define el '\n' string guess_sequence(int N) { vector<char> lst_c = { 'A', 'B', 'X', 'Y' }; string cur = ""; if (press(cur + "AB") >= cur.size() + 1) { if (press(cur + "A") >= cur.size() + 1) cur += "A"; else cur += "B"; } else { if (press(cur + "X") >= cur.size() + 1) cur += "X"; else cur += "Y"; } lst_c.erase(find(lst_c.begin(), lst_c.end(), cur[0])); while ((int)cur.size() <= N - 2) { string tmp = ""; tmp += cur + lst_c[0]; tmp += cur + lst_c[1] + lst_c[0]; tmp += cur + lst_c[1] + lst_c[1]; tmp += cur + lst_c[1] + lst_c[2]; int cnt = press(tmp), sz = cur.size(); if (cnt == sz + 1) { cur += lst_c[0]; } else if (cnt == sz + 2) { cur += lst_c[1]; } else { cur += lst_c[2]; } // cout << cur << el; } while ((int)cur.size() < N) { if (press(cur + lst_c[0]) == (int)cur.size() + 1) { cur += lst_c[0]; } else if (press(cur + lst_c[1]) == (int)cur.size() + 1) { cur += lst_c[1]; } else cur += lst_c[2]; } return cur; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...