Submission #963862

#TimeUsernameProblemLanguageResultExecution timeMemory
963862TAhmed33Combo (IOI18_combo)C++17
100 / 100
17 ms1960 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; char getfirst () { string u = "AB"; int y = press(u); if (y >= 1) { u = "A"; y = press(u); if (y == 1) return 'A'; return 'B'; } else { u = "X"; y = press(u); if (y == 1) return 'X'; return 'Y'; } } string guess_sequence (int n) { char x = getfirst(); vector <char> dd = {'A', 'B', 'X', 'Y'}; for (int i = 0; i < 4; i++) { if (dd[i] == x) { dd.erase(dd.begin() + i); } } string ret; ret += x; if (n == 1) return ret; for (int i = 2; i < n; i++) { string f1 = ret; f1 += dd[0]; f1 += dd[0]; string f2 = ret; f2 += dd[0]; f2 += dd[1]; string f3 = ret; f3 += dd[0]; f3 += dd[2]; string f4 = ret; f4 += dd[1]; string g = f1 + f2 + f3 + f4; int y = press(g); if (y == i - 1) { ret += dd[2]; } else if (y == i) { ret += dd[1]; } else { ret += dd[0]; } } for (int i = 0; i < 2; i++) { string u = ret; u += dd[i]; int g = press(u); if (g == n) { ret = u; break; } if (i == 1) ret += dd[2]; } return ret; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...