CF1818B Indivisible 题解
将这道题之前先给大家普及一下高斯求和公式:求
然后进入正文,看完题目后可以得知,本题是一道构造题,还是大家最熟悉的分类讨论,当
剩下的情况就是
Code
#include<bits/stdc++.h>//万能头最好啦
using namespace std;
int t,n;
int main(){
scanf("%d",&t);
while(t--){//t组数据
scanf("%d",&n);//输入n
if(n==1){//特判当n为1时
printf("1\n");//该序列只能为1
}
else if(n%2==1){//当n为大于1的奇数时
printf("-1\n");
}
else{//n为偶数时
for(int i=1;i<=n;i++){
if(i%2==0)printf("%d ",i-1);//i为偶数
else printf("%d ",i+1);//i为奇数
}
printf("\n");//换行
}
}
return 0;//华丽结束~~~
}