이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;
#define forinc(i,a,b) for(int i=a;i<=b;i++)
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l,int r)
{
return l+rng()%(r-l+1);
}
string d[]={"A","B","X","Y"};
bool dd[5];
string s="";
//int press(string s){};
string guess_sequence(int n)
{
int fi=4;
int cnt=0;
int num=0;
int r=press("AB");
//cout<<"AB";
//int r;cin>>r;
if(r>0)
{
r=press("A");
//cout<<"A";cin>>r;
if(r>0)
{
s+="A";fi=0;
}
else s+="B",fi=1;
}
else
{
r=press("X");
//cout<<"X";cin>>r;
if(r>0) s+="X",fi=2;
else s+="Y",fi=3;
}
forinc(i,1,n-1)
{
memset(dd,0,sizeof dd);
dd[fi]=1;
int dem=0;
int oyr=cnt;
while(dd[0]==0||dd[1]==0||dd[2]==0||dd[3]==0)
{
int x=rnd(0,3);
if(x==fi) continue;
if(dd[x]==1) continue;
dd[x]=1;
dem++;
if(dem==3)
{
s+=d[x];
//cnt=cnt+1;
break;
}
int ret=press(s+d[x]);
//cout<<s+d[x]<<"\n";
//int ret; cin>>ret;
if(ret==i) continue;
s+=d[x];
//cnt=ret;
break;
}
//cout<<fi<<"\n";;
}
return s;
}
컴파일 시 표준 에러 (stderr) 메시지
combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:46:13: warning: unused variable 'oyr' [-Wunused-variable]
46 | int oyr=cnt;
| ^~~
combo.cpp:20:9: warning: unused variable 'num' [-Wunused-variable]
20 | int num=0;
| ^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |