#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;
}
if (n == 1) return s;
res = press(s + a);
if (res == n)
s += a;
else {
res = press(s + b);
if (res == n)
s += b;
else
s += c;
}
return s;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |