| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1337099 | yus1f_m | Combo (IOI18_combo) | C++20 | 0 ms | 412 KiB |
//pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int n)
{
int num,num1,num2;
string cc="",ans;
if(n==1)
{
if(press("A")==1)
{
ans='A';
}
else if(press("B")==1)
{
ans='B';
}
else if(press("X")==1)
{
ans='X';
}
else
{
ans='Y';
}
}
else
{
num1=press("AB"),num2=press("AX");
if(num1==2)
{
ans="AB";
}
else if(num2==2)
{
ans="AX";
}
else if(num1==1 && num2==1)
{
ans="A";
}
else if(num1==1 && num2==0)
{
ans="B";
}
else if(num1==0 && num2==1)
{
ans="X";
}
else
{
ans="Y";
}
if(ans[0]=='A')
{
cc+='B',cc+='X',cc+='Y';
}
else if(ans[0]=='B')
{
cc+='A',cc+='X',cc+='Y';
}
else if(ans[0]=='X')
{
cc+='A',cc+='B',cc+='Y';
}
else
{
cc+='A',cc+='B',cc+='X';
}
while(ans.size()!=n-1)
{
num=press(ans+cc[0]+ans+cc[1]+cc[0]+ans+cc[1]+cc[1]+ans+cc[1]+cc[2]);
if(num==ans.size()+1)
{
ans+=cc[0];
}
else if(num==ans.size()+2)
{
ans+=cc[1];
}
else
{
ans+=cc[2];
}
}
if(ans.size()!=n)
{
if(press(ans+cc[0])==n)
{
ans+=cc[0];
}
else if(press(ans+cc[1])==n)
{
ans+=cc[1];
}
else
{
ans+=cc[2];
}
}
}
return ans;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
