省略
省略
C++に変換後のコードはこちら
int N, X;
int res[1d5], r;
void push(int a = 0, int b = 0, int c = 0, int d = 0){
if(a) res[r++] = a;
if(b) res[r++] = b;
if(c) res[r++] = c;
if(d) res[r++] = d;
}
{
int i, k, m;
rd(N,X);
m = (N-1) / 4;
k = 4;
rep(i,m){
if(X/4==k/4) k += 4;
push(k, k+1, k+2, k+3);
k += 4;
}
if(N%4==0){
if(X==1) push(k+1, k+3, 1, 2);
else if(X==2) push(k, k+1, 1, 2);
else if(X==3) push(k, k+1, 1, 3);
else push(X, 1, 2, 3);
}
if(N%4==1){
push(X);
}
if(N%4==2){
if(X!=1) push(X^1, 1);
else push(2, 3);
}
if(N%4==3){
if(X==1) push(3, k, k+2);
else if(X==2) push(3, k, k+1);
else if(X==3) push(2, k, k+1);
else push(X^1, 2, 3);
}
rep(i,N) wt(res[i]);
}
Current time: 2024年03月29日08時02分25秒
Last modified: 2019年08月21日06時07分47秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る
Logged in as: unknown user (not login)