Submission #1175237

#TimeUsernameProblemLanguageResultExecution timeMemory
1175237somefolkCombo (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include <iostream> #include <cmath> #include <algorithm> #include <string> #include <vector> #include <map> #include <unordered_map> #include <queue> #include <set> #include <unordered_set> #include <complex> #include <list> #include <cassert> #include <chrono> #include <random> #include <stack> #include <iomanip> #include <fstream> using namespace std; #define endl "\n" // #define int long long const int INF = 1e9+7; const int MOD = 1e9+7; // int press(string p){cout << p << " "; int nr; cin >> nr; return nr;}; int press(string p); string guess_sequence(int n){ string sol; vector<char> ops; if(press("AB")){ if(press("A")){ sol += 'A'; ops = {'B', 'X', 'Y'}; } else { sol += 'B'; ops = {'A', 'X', 'Y'}; } } else { if(press("X")){ sol += 'X'; ops = {'A', 'B', 'Y'}; } else { sol += 'Y'; ops = {'A', 'B', 'X'}; } } while(sol.size() < n-1){ int ans = press(sol+ops[0]+ops[0]+sol+ops[0]+ops[1]+sol+ops[0]+ops[2]+sol+ops[1]); if(ans == sol.size()+2){ sol += ops[0]; } else if(ans == sol.size()+1){ sol += ops[1]; } else { sol += ops[2]; } } if(press(sol+"AB") >= sol.size()){ if(press(sol+'A') >= sol.size()) sol += 'A'; else sol += 'B'; } else { if(press(sol+'X') >= sol.size()) sol += 'X'; else sol += 'Y'; } return sol; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...