Codeforces Round #636 (Div. 3) 比赛人数12253
[codeforces 1343B] Balanced Array 奇+奇=偶,奇+偶=奇,偶+偶=偶
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
在线测评地址http://codeforces.com/contest/1343/problem/B
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
B - Balanced Array | GNU C++17 | Accepted | 46 ms | 0 KB |
n/2若为奇数,输出NO
因为,奇数个奇数和是奇数,奇数个偶数和是偶数,两者肯定不等。
n/2若为偶数,模拟如下
8
YES
2 4 6 8 1 3 5 11
数据生成过程如下
2 4 6 8
1 3 5 8+(1+1+1)=11
(1+1+1)的由来
2-1=1
4-3=1
6-5=1
共少了3个1
AC代码如下
#include <stdio.h>
int main(){
int t,n,i;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
n/=2;
if(n%2)printf("NO\n");
else{
printf("YES\n");
for(i=1;i<=n;i++)printf("%d ",2*i);
for(i=1;i<n;i++)printf("%d ",2*i-1);
printf("%d\n",2*n+(n-1)*1);
}
}
return 0;
}