# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
78790 | patcasrares | 콤보 (IOI18_combo) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<iostream>
#include "combo.h"
using namespace std;
int press2(string s,int n)
{
//cout<<s.size()<<' '<<4*n<<'\n';
if(s.size()>4*n)
while(1){}
return press(s);
}
string guess_sequence(int N)
{
int r,poz=0,cnt=-1;
string a[3],cand[4]={"A","B","X","Y"};
string q,rez;
q="AB";
r=press2(q,n);
if(r)
poz=0;
else
poz=2;
q=cand[poz];
r=press2(q,n);
if(r==0)
poz++;
for(int i=0;i<4;i++)
if(i!=poz)
{
cnt++;
a[cnt]=cand[i];
}
rez=cand[poz];
cnt=1;
poz=2;
for(int i=2;i<n;i++)
{
q=rez+a[0]+rez+a[1]+a[0]+rez+a[1]+a[1]+rez+a[1]+a[2];
r=press2(q,n);
if(r==i-1)
{
rez=rez+a[2];
continue;
}
if(r==i)
{
rez=rez+a[0];
continue;
}
rez=rez+a[1];
if(press(rez)!=i)
while(1){}
}
q=rez+a[0]+rez+a[1];
r=press2(q,n);
if(r==n)
{
q=rez+a[0];
r=press2(q,n);
if(r==n)
rez=rez+a[0];
else
rez=rez+a[1];
}
else
rez=rez+a[2];
return rez;
}