AtCoder Regular Contest 103
AtCoder Beginner Contest 111
問題文 (ARC)
問題文 (ABC)
省略
省略
C++に変換後のコードはこちら
int N, X[1000], Y[1000];
int M, D[40];
char res[42]; int ress;
{
int i, j, k, md;
rd(N,(X,Y)(N));
md = (X[0] + Y[0]) %% 2;
rep(i,1,N) if( (X[i]+Y[i])%%2 != md ) break;
if(i<N){
wt(-1);
return 0;
}
if(md==0) rep(i,N) X[i]++;
if(md==0) D[M++] = 1;
rep(i,31) D[M++] = (1<<i);
wt(M);
wt(D(M));
rep(k,N){
ress = 0;
if(md==0) res[ress++] = 'L';
rep(i,31){
j = 1;
if(i==30) j = 0;
if(X[k]%2){
if( ((X[k]+1)/2 + Y[k]/2) %% 2 == j ){
res[ress++] = 'L';
X[k]++;
} else {
res[ress++] = 'R';
X[k]--;
}
} else {
if( (X[k]/2 + (Y[k]+1)/2) %% 2 == j ){
res[ress++] = 'D';
Y[k]++;
} else {
res[ress++] = 'U';
Y[k]--;
}
}
X[k] /= 2;
Y[k] /= 2;
}
wt(res);
}
}
Current time: 2024年03月29日11時12分05秒
Last modified: 2019年07月27日04時30分47秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest AtCoder_Beginner_Contest ARC103 ABC111 ARC_B ABC_D
トップページに戻る
Logged in as: unknown user (not login)