# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
99111 | JustasLe | 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 "combo.h";
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
set<char> X = {'A', 'B', 'X', 'Y'};
string s = "";
for (auto it = X.begin(); it != X.end(); it++) {
int x = press(s + *it);
if (x != 0) {
s += *it;
X.erase(*it);
break;
}
}
if (s == "") {
return s;
}
string Y = "";
for (auto it = X.begin(); it != X.end(); it++) {
Y += *it;
}
int prev = 1;
bool ok = true;
while (ok) {
ok = false;
int x;
set<int> W;
while ((int) W.size() != 3) {
int rn = rand() % 3;
if (!W.count(rn)) {
x = press(s + Y[rn]);
if (x > rn) {
s += Y[rn];
break;
}
W.insert(rn);
}
}
if ((int) s.size() == N) {
break;
}
}
return s;
}