# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
212263 | jk89 | Combo (IOI18_combo) | C++14 | 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 <cstdio>
#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;
#define f first
#define s second
const int MAXN = 2e3 + 3;
bool zab[4];
char who[4] = {'A', 'B', 'X', 'Y'};
string guess_sequence(int n) {
string ans, temp;
char spc;
if (press("A") == 1)
zab[0] = true;
else if (press("B") == 1)
zab[1] = true;
else if (press("X") == 1)
zab[2] = true;
else
zab[3] = true;
bool wys = false;
for (int i = 0; i < 4; i++) {
if (zab[i]) {
wys = true;
spc = who[i];
continue;
}
if (wys)
swap(who[i - 1], who[i]);
}
ans += spc;
if (n == 1)
return ans;
int roz = 1;
int wyn;
for (int i = 1; i < n - 1; i++) {
wyn = press(ans + who[0] + ans + who[1] + who[0] + ans + who[1] + who[1] + ans + who[1] + who[2]);
if (wyn == roz)
ans += who[2];
else if (wyn == roz + 1)
ans += who[0];
else
ans += who[1];
roz++;
}
if (press(ans + who[0]) == roz + 1)
ans += who[0];
else if (press(ans + who[1]) == roz + 1)
ans += who[1];
else
ans += who[2];
return ans;
}