This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
#define int ll
#define endl '\n' //comment for interactive
#define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define pb push_back
#define re resize
#define ff first
#define ss second
#define all(x) (x).begin(), (x).end()
#define loop(i, n) for(int i = 0; i < n; i++)
#define loop1(i, n) for(int i = 1; i <= n; i++)
#define print(x) cout << #x << ": " << x << endl << flush
typedef long long ll;
typedef vector<int> vi;
typedef array<int, 2> ii;
typedef array<int, 3> ti;
typedef vector<ii> vii;
typedef vector <ti> vti;
typedef priority_queue<int> pq;
template<class T> bool ckmin(T&a, T b) { bool B = a > b; a = min(a, b); return B; }
template<class T> bool ckmax(T&a, T b) { bool B = a < b; a = max(a, b); return B; }
const int inf = 1e17;
//const int maxn = ;
string guess_sequence(signed N) {
char init = ' ';
if(press("AB") >= 1) {
if(press("A") >= 1) init = 'A';
else init = 'B';
} else {
if(press("X") >= 1) init = 'X';
else init = 'Y';
}
if(N == 1) return {init};
char d[4] = {'A', 'B', 'X', 'Y'};
vector<char> c;
loop(i, 4) if(d[i] != init) c.pb(d[i]);
string res = {init};
loop1(i, N-2) {
int x = press(
res + c[0] +
res + c[1] + c[0] +
res + c[1] + c[1] +
res + c[1] + c[2]
);
if(x == i)
res += c[2];
else if(x == i+1)
res += c[0];
else
res += c[1];
}
if(press(res + c[0]) == N) res += c[0];
else if(press(res + c[1]) == N) res += c[1];
else res += c[2];
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |