Submission #1297799

#TimeUsernameProblemLanguageResultExecution timeMemory
1297799bangchanCombo (IOI18_combo)C++20
100 / 100
9 ms480 KiB
#include "combo.h" #include <iostream> #include <vector> #include <map> #include <algorithm> #include <limits.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<bool> vb; typedef vector<double> vd; typedef vector<string> vs; typedef vector<char> vc; typedef vector<vi> vvi; typedef pair<int,int> pii; typedef vector<pii> vii; typedef map<int, int> mii; typedef vector<vl> vvl; typedef pair<ll, ll> pll; typedef vector<pll> vpl; #define F first #define S second #define yes cout << "YES" << endl #define no cout << "NO" << endl #define pb push_back #define forn(i, x, n) for (ll i = x; i < n; i++) #define fornl(i, x, n) for(ll i = x; i >= n; i--) #define all(x) x.begin(), x.end() #define mod 1000000007 #define inf 10000000000000 string guess_sequence(int n) { string r = ""; vc t; if(n > 1){ if(press("AB")){ if(press("A")){r += 'A'; t = {'B', 'X', 'Y'};} else{r += 'B'; t = {'A', 'X', 'Y'};} } else { if(press("X")){r += 'X'; t = {'B', 'A', 'Y'};} else{r += 'Y'; t = {'A', 'B', 'X'};} } forn(i, 1, n - 1){ string s = r + t[0] + t[0] + r + t[0] + t[1] + r + t[0] + t[2] + r + t[1]; ll x = press(s); if(x == r.size() + 2) r += t[0]; else if(x == r.size() + 1) r += t[1]; else if(x == r.size()) r += t[2]; } if(press(r + t[0]) == r.size() + 1) r += t[0]; else if(press(r + t[1]) == r.size() + 1) r += t[1]; else r += t[2]; } else { if(press("A")) r = 'A'; else if(press("B")) r = 'B'; else if(press("X")) r = 'X'; else r = 'Y'; } return r; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...