Submission #1135882

#TimeUsernameProblemLanguageResultExecution timeMemory
1135882vibeduckCombo (IOI18_combo)C++20
100 / 100
6 ms484 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define pf push_front #define mp make_pair #define fi first #define se second //#define int long long #define all(x) (x).begin(), (x).end() typedef long double ld; typedef long long ll; typedef pair<ll,ll> pll; typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<bool> vb; typedef vector<vector<int>> vvi; typedef vector<vector<bool>> vvb; typedef vector<vector<ll>> vvll; typedef vector<string> vs; typedef vector<vector<string>> vvs; typedef vector<char> vc; typedef vector<vector<char>> vvc; typedef map<int, int> mii; typedef unordered_map<int, int> umii; string guess_sequence(int N) { string p = ""; // first letter int x = press("AB"); if (x) { x = press("A"); if (x) p += "A"; else p += "B"; } else { x = press("X"); if (x) p += "X"; else p += "Y"; } vs ops; if (p[0] != 'A') ops.pb("A"); if (p[0] != 'B') ops.pb("B"); if (p[0] != 'X') ops.pb("X"); if (p[0] != 'Y') ops.pb("Y"); for (int i = 2; i <= N - 1; i++) { assert(ops.size() == 3); x = press(p + ops[0] + p + ops[1] + ops[0] + p + ops[1] + ops[1] + p + ops[1] + ops[2]); if (x == p.size()) { p += ops[2]; continue; } if (x == p.size() + 1) { p += ops[0]; continue; } p += ops[1]; } if (p.size() == N - 1) { x = press(p + "A" + p + "B"); if (x == N) { x = press(p + "A"); if (x == N) p += "A"; else p += "B"; } else { x = press(p + "X"); if (x == N) p += "X"; else p += "Y"; } } return p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...