AtCoder Grand Contest #035
問題文
省略
省略
C++に変換後のコードはこちら
int N;
int M, A[2d5], B[2d5];
void doit(int a, int b){
A[M] = a;
B[M++] = b;
}
{
int i, k;
rd(N);
k = 0;
rep(i,20) if(N&1<<i) k = (1<<i);
if(N==k){
wt("No");
return 0;
}
doit(1, 2);
doit(2, 3);
doit(3, 1+N);
doit(1+N, 2+N);
doit(2+N, 3+N);
for(i=4;i<N;i+=2){
doit(i, i+1);
doit(N+i, N+i+1);
doit(1, i);
doit(1, N+i+1);
}
if(N%2==0){
doit(k+1+N, N);
doit(N-k, N+N);
}
wt("Yes");
rep(i,M) wt(A[i], B[i]);
}
Current time: 2024年04月19日11時19分28秒
Last modified: 2019年07月15日03時20分12秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Grand_Contest AGC035 AGC_C
トップページに戻る
Logged in as: unknown user (not login)