Submission #645023

#TimeUsernameProblemLanguageResultExecution timeMemory
645023NursikCombo (IOI18_combo)C++14
30 / 100
43 ms572 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back const ll maxn = 2e3 + 1; int used[maxn][4]; vector<char> v = {'A', 'B', 'X', 'Y'}; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); string guess_sequence(int n) { string pref = ""; int get = press("AB"); if (get > 0){ get = press("A"); if (get == 1){ pref += "A"; } else{ pref += "B"; } } else{ get = press("X"); if (get == 1){ pref += "X"; } else{ pref += "Y"; } } vector<char> v2; for (auto it : v){ if (it != pref[0]){ v2.pb(it); } } for (int i = 1; i < n; ++i){ for (int j = 0; j < 3; ++j){ int k = rng() % (j + 1); swap(v2[j], v2[k]); } int ans = 2; for (int j = 0; j < 2; ++j){ string npref = pref + v2[j]; get = press(npref); if (get == i + 1){ ans = j; break; } } pref += v2[ans]; } return pref; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...