DISCO presents ディスカバリーチャンネル コードコンテスト2020 予選
問題文
省略
省略
C++に変換後のコードはこちら
int N;
int ask[200];
int res[200];
void init(){
scanf("%d", &N);
}
int query(){
char buf[100];
printf("?");
rep(i,2N) if(ask[i]) printf(" %d", i+1);
puts("");
fflush(stdout);
scanf("%s", buf);
if(buf[0]=='R') return 0;
return 1;
}
void answer(){
char buf[300];
rep(i,2N) buf[i] = if[res[i]==0, 'R', 'B'];
buf[2N] = '\0';
printf("! %s\n", buf);
}
{
int k, f, x, y;
init();
rep(i,N) ask[i] = 1;
f = query();
k = bsearch_max[int,x,0,N][
rep(i,2N) ask[i] = 0;
rep(i,N) ask[x+i] = 1;
](query() == f);
rep(i,2N) ask[i] = 0;
rep(i,N-1) ask[k+1+i] = 1;
rep(i,2N) if(ask[i]) res[i] = -1;
rep(i,2N) if(!ask[i]){
ask[i] = 1;
res[i] = query();
ask[i] = 0;
}
x = y = 0;
rep(i,2N){
ask[i] = 0;
if(res[i]==0 && x < N/2) ask[i] = 1, x++;
if(res[i]==1 && y < N/2) ask[i] = 1, y++;
}
rep(i,2N) if(res[i]==-1){
ask[i] = 1;
res[i] = query();
ask[i] = 0;
}
answer();
}
Current time: 2024年03月28日23時20分56秒
Last modified: 2019年11月23日23時21分21秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る
Logged in as: unknown user (not login)