Submission #1144471

#TimeUsernameProblemLanguageResultExecution timeMemory
1144471crispxxCombo (IOI18_combo)C++20
100 / 100
8 ms508 KiB
#include <bits/stdc++.h> #include "combo.h" // #include "grader.cpp" using namespace std; #define all(x) x.begin(), x.end() #define nl '\n' const int M = 4; char let[M] = {'A', 'B', 'X', 'Y'}; int guess_one(string s) { int len = press(s + let[0] + s + let[1]); int idx = 2 * (len < (int)s.size() + 1); len = press(s + let[idx]); idx += (len < (int)s.size() + 1); return idx; } string guess_sequence(int N) { int idx[M]; for(int i = 0; i < M; i++) idx[i] = i; string s; { int id = guess_one(s); s += let[id]; swap(idx[id], idx[M - 1]); } for(int i = 0; i < N - 2; i++) { string z; for(int j = 0; j < M - 1; j++) { z += s + let[idx[0]] + let[idx[j]]; } z += s + let[idx[1]]; int len = press(z); if(len == i + 1) { s += let[idx[2]]; } else if(len == i + 2) { s += let[idx[1]]; } else { s += let[idx[0]]; } } if(N > 1) { int id = guess_one(s); s += let[id]; } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...