이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
#include <bits/stdc++.h>
#define ll long long
std::string guess_sequence(int N) {
std::string s="";
std::map <char,ll> us;
if (N==1)
{
if (press("A")) return "A";
if (press("B")) return "B";
if (press("X")) return "X";
return "Y";
}
ll t1=press("AB");
if (t1)
{
if (press("A"))
{
us['A']=1;
s="A";
}
else
{
us['B']=1;
s="B";
}
}
else
{
if (press("X"))
{
us['X']=1;
s="X";
}
else
{
us['Y']=1;
s='Y';
}
}
std::vector <char> nx;
if (!us['A']) nx.push_back('A');
if (!us['B']) nx.push_back('B');
if (!us['X']) nx.push_back('X');
if (!us['Y']) nx.push_back('Y');
for(ll i=2;i<N;i++)
{
std::string fp="";
fp=(s+nx[0]);
fp+=(s+nx[1]+nx[0]);
fp+=(s+nx[1]+nx[1]);
fp+=(s+nx[1]+nx[2]);
ll t=press(fp);
if (t==i-1) s+=nx[2];
if (t==i) s+=nx[0];
if (t==i+1) s+=nx[1];
}
if (press(s+nx[0])==N)
s+=nx[0];
else
{
if (press(s+nx[1])==N)
s+=nx[1];
else s+=nx[2];
}
//cout<<s<<endl;
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |