| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1350774 | bozho | Combo (IOI18_combo) | C++20 | 5 ms | 480 KiB |
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int n)
{
string s = "";
int op = press("AB");
vector<string> ops;
if (op == 2)
{
s += "AB";
ops = {"BX", "BY", "BB", "X"};
}
if (op == 1)
{
if (press("A"))
{
s += 'A';
ops = {"BX", "BY", "BB", "X"};
}
else
{
s += 'B';
ops = {"AX", "AY", "AA", "X"};
}
}
else if (op == 0)
{
if (press("X"))
{
s += 'X';
ops = {"BA", "BY", "BB", "A"};
}
else
{
s += 'Y';
ops = {"BA", "BB", "BX", "X"};
}
}
string tr;
while (s.size() < n - 1)
{
tr = "";
for (int i = 0; i < 4; i++)
{
tr += s;
tr += ops[i];
}
op = press(tr);
if (op - s.size() == 0)
{
if (s[0] == 'Y')
s += 'A';
else
s += 'Y';
}
else if (op - s.size() == 1)
{
if (s[0] == 'X')
s += 'A';
else
s += 'X';
}
else if (op - s.size() == 2)
{
if (s[0] == 'B')
s += 'A';
else
s += 'B';
}
}
if (s.size() == n - 1)
{
tr = s + "A" + s + "B";
if (press(tr) == n)
{
tr = s + "A";
if (press(tr) == n)
s += 'A';
else
s += 'B';
}
else
{
tr = s + "X";
if (press(tr) == n)
s += 'X';
else
s += 'Y';
}
}
return s;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
