| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 97648 | arnold518 | Combo (IOI18_combo) | C++14 | 1 ms | 272 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 <bits/stdc++.h>
#include "combo.h"
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
string ans;
char start;
char str[4]={'A', 'B', 'X', 'Y'};
string guess_sequence(int n)
{
int i, j;
string t;
if(press("A")==1) start='A';
else if(press("B")==1) start='B';
else if(press("X")==1) start='X';
else start='Y';
ans+=start;
for(i=2; i<n; i++)
{
if(start=='A') t=ans+"BB"+ans+"BX"+ans+"BY"+ans+"X";
else if(start=='B') t=ans+"XX"+ans+"XY"+ans+"XA"+ans+"Y";
else if(start=='X') t=ans+"YY"+ans+"YA"+ans+"YB"+ans+"A";
else if(start=='Y') t=ans+"AA"+ans+"AB"+ans+"AX"+ans+"B";
int res=press(t);
//cout<<i<<" "<<t<<" "<<res<<" "<<ans<<endl;
res-=i-1;
if(start=='A')
{
if(res==0) ans+='Y';
else if(res==1) ans+='X';
else if(res==2) ans+='B';
}
else if(start=='B')
{
if(res==0) ans+='A';
else if(res==1) ans+='Y';
else if(res==2) ans+='X';
}
else if(start=='X')
{
if(res==0) ans+='B';
else if(res==1) ans+='A';
else if(res==2) ans+='Y';
}
else if(start=='Y')
{
if(res==0) ans+='X';
else if(res==1) ans+='B';
else if(res==2) ans+='A';
}
}
if(press(ans+"A")==n) ans+='A';
else if(press(ans+"B")==n) ans+='B';
else if(press(ans+"X")==n) ans+='X';
else ans+='Y';
//cout<<ans<<endl;
return ans;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
