# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
254575 | Erkhemkhuu | Combo (IOI18_combo) | C++17 | 0 ms | 0 KiB |
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 <bits/stdc++.h>
#include <combo.h>
using namespace std;
#define ll long long
#define pb push_back
#define mk make_pair
#define F first
#define S second
string guess_sequence(int n) {
string res, seq;
int i;
if(press("A")) {
res = "A";
seq = "BXY";
}
if(press("B")) {
res = "B";
seq = "AXY";
}
if(press("X")) {
res = "X";
seq = "ABY";
}
if(press("Y")) {
res = "Y";
seq = "ABX";
}
for(i = 1; i < n - 1; i++) {
string temp = "";
temp = res + seq[0];
temp += res + seq[1] + seq[0];
temp += res + seq[1] + seq[1];
temp += res + seq[1] + seq[2];
int ret = press(temp);
if(ret == res.size() + 1) res += seq[0];
else if(ret == res.size() + 2) res += seq[1];
else res += seq[2];
}
if(n >= 2) {
string temp = "";
temp = res + a[0] + res + a[1];
if(press(temp) == n) {
temp += res + a[0];
if(press(temp) == n) res += a[0];
else res += a[1];
}
else res += a[2];
}
assert(res.size() == n && press(res) == n);
return res;
}