# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1245276 | boyan2010 | Combo (IOI18_combo) | C++20 | 7 ms | 548 KiB |
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int N)
{
if(N==1)
{
int coins=press("A");
if(coins==0)
{
coins=press("B");
if(coins==0)
{
coins=press("X");
if(coins==0)
{
return "Y";
}
return "X";
}
return "B";
}
return "A";
}
string p = "AB",S;
char f;
int coins=press(p);
if(coins==0)
{
p="X";
coins=press(p);
if(coins==0)
{
S="Y";
f='Y';
}
else
{
S="X";
f='X';
}
}
else
{
p="A";
coins=press(p);
if(coins==0)
{
S="B";
f='B';
}
else
{
S="A";
f='A';
}
}
while(S.length()<N-1)
{
if(f=='A')
{
p=S+"BB"+S+"BX"+S+"BY"+S+"X";
coins=press(p);
if(coins==S.length()+2)
{
S.push_back('B');
}
else if(coins==S.length()+1)
{
S.push_back('X');
}
else
{
S.push_back('Y');
}
}
else if(f=='B')
{
p=S+"AA"+S+"AX"+S+"AY"+S+"X";
coins=press(p);
if(coins==S.length()+2)
{
S.push_back('A');
}
else if(coins==S.length()+1)
{
S.push_back('X');
}
else
{
S.push_back('Y');
}
}
else if(f=='X')
{
p=S+"AA"+S+"AB"+S+"AY"+S+"B";
coins=press(p);
if(coins==S.length()+2)
{
S.push_back('A');
}
else if(coins==S.length()+1)
{
S.push_back('B');
}
else
{
S.push_back('Y');
}
}
else
{
p=S+"AA"+S+"AB"+S+"AX"+S+"B";
coins=press(p);
if(coins==S.length()+2)
{
S.push_back('A');
}
else if(coins==S.length()+1)
{
S.push_back('B');
}
else
{
S.push_back('X');
}
}
}
if(f=='A')
{
p=S+"B"+S+"X";
coins=press(p);
if(coins==N)
{
coins=press(S+"B");
if(coins==N)
{
S.push_back('B');
}
else
{
S.push_back('X');
}
}
else
{
S.push_back('Y');
}
}
else if(f=='B')
{
p=S+"A"+S+"X";
coins=press(p);
if(coins==N)
{
coins=press(S+"A");
if(coins==N)
{
S.push_back('A');
}
else
{
S.push_back('X');
}
}
else
{
S.push_back('Y');
}
}
else if(f=='X')
{
p=S+"A"+S+"B";
coins=press(p);
if(coins==N)
{
coins=press(S+"A");
if(coins==N)
{
S.push_back('A');
}
else
{
S.push_back('B');
}
}
else
{
S.push_back('Y');
}
}
else
{
p=S+"A"+S+"B";
coins=press(p);
if(coins==N)
{
coins=press(S+"A");
if(coins==N)
{
S.push_back('A');
}
else
{
S.push_back('B');
}
}
else
{
S.push_back('X');
}
}
return S;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |