Submission #1290215

#TimeUsernameProblemLanguageResultExecution timeMemory
1290215AlphanumericCombo (IOI18_combo)C++20
0 / 100
1 ms400 KiB
#include <bits/stdc++.h> #include <time.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include "combo.h" #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") using namespace std; #define inp(arr) \ for (auto& it : arr) cin >> it; #define outp(arr) \ for (auto it : arr) cout << it << " "; #define inppair(arr) \ for (pair<int, int>& it : arr) cin >> it.first >> it.second; #define outppair(arr) \ for (pair<int, int> it : arr) cout << it.first << " " << it.second << "\n"; #define for0(n) for (int i = 0; i < n; ++i) #define for0j(n) for (int j = 0; j < n; ++j) #define for0k(n) for (int k = 0; k < n; ++k) #define for1(n) for (int i = 1; i <= n; ++i) #define for1j(n) for (int j = 1; j <= n; ++j) #define for1k(n) for (int k = 1; k <= n; ++k) #define for1b(n) for (int i = n; i > 0; --i) #define for1bj(n) for (int j = n; j > 0; --j) #define for0b(n) for (int i = n - 1; i >= 0; --i) #define for0bj(n) for (int j = n - 1; j >= 0; --j) #define rep(i, s, e) for (int(i) = (s); (i) != (e); i += (s <= e ? 1 : -1)) #define forself(start, end) for (int i = start; i < end; ++i) #define all(v) v.begin(), v.end() #define SZ(v) v.size() #define srt(arr) sort(arr, arr + (sizeof(arr) / sizeof(arr[0]))) #define srtvc(arr) sort(arr.begin(), arr.end()) #define rsrt(arr) sort(arr, arr + (sizeof(arr) / sizeof(arr[0])), greater<>()) #define rsrtvc(arr) sort(arr.begin(), arr.end(), greater<>()) #define pub push_back #define puf push_front #define pob pop_back #define pof pop_front #define pii pair<int, int> #define bkpqi priority_queue<int, vector<int>, greater<int>> #define bkpqpii priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> #define setzero(arr) memset(arr, 0, sizeof(arr)); #define setone(arr) memset(arr, 1, sizeof(arr)); #define setneg(arr) memset(arr, -1, sizeof(arr)); string guess_sequence(int n) { string chars = "ABXY"; int res; string s; res = press("AB"); if (res == 1) { res = press("A"); if (res == 1) s = "A"; else s = "B"; } else { res = press("X"); if (res == 1) s = "X"; else s = "Y"; } string ch; for0(4) { string it; it.push_back(chars[i]); if (it != s) ch.push_back(chars[i]); } string a, b, c; a.push_back(ch[0]); b.push_back(ch[1]); c.push_back(ch[2]); for0(n - 2) { res = press(s + a + s + b + a + s + b + b + s + b + c); if (res == s.size()) s += c; if (res == s.size() + 1) s += a; if (res == s.size() + 2) s += b; } res = press(s + a); if (res == s.size() + 1) s += a; else { res = press(s + b); if (res == s.size() + 1) s += b; else s += c; } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...