Submission #1296429

#TimeUsernameProblemLanguageResultExecution timeMemory
1296429Ekber_EkberCombo (IOI18_combo)C++20
97 / 100
8 ms480 KiB
#include "combo.h" #include <bits/stdc++.h> // #define int long long #define endl "\n" #define ff first #define ss second #define pb push_back #define all(v) v.begin(), v.end() using namespace std; vector <string> v = {"A", "B", "X", "Y"}; string guess_sequence(int n) { int first = -1; string p = ""; for(int i = 0; i < v.size() - 1; i++){ if(press(v[i]) > 0){ p += v[i]; first = i; break; } } if(p.size() == 0)p += v.back(), first = 3; if(p.size() == n)return p; vector < string > vv; for(int i = 0; i < 4; i++){ if(i != first) vv.push_back(v[i]); } v = vv; while(p.size() < n - 1){ string cur = ""; cur += p; cur += v[0]; cur += p; cur += v[1]; cur += v[0]; cur += p; cur += v[1]; cur += v[2]; cur += p; cur += v[1]; cur += v[1]; // cout << cur << endl; int sz = press(cur); if(sz == p.size()){ p += v[2]; } else if(sz == p.size() + 1){ p += v[0]; } else { p += v[1]; } } for(int i = 0; i < 2; i++){ string cur = p + v[i]; if(press(cur) == n){ return cur; } } string ans = p + v.back(); // cout << ans << endl; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...