我覺得E比他還簡單,爲什麼過的人卻沒有G多……
其實一開始想的+2選數是對的,再想一下,處理一些情況就可以了,要是以後太小的數/特殊的數感覺找不出規律,可以找一些中等大小和正常的數找規律,然後特判就好了。
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
using namespace std;
int t,n;
int main()
{
cin>>t;
while(t--)
{
scanf("%d",&n);
if(n<=3)
{
printf("-1\n");
continue;
}
else if(n==4)
{
printf("3 1 4 2\n");
}
else
{
/*for(int i=1;i<=n;i+=2)
{
printf("%d ",i);
}*/
if(n%2==0)
{
for(int i=1;i<=n;i+=2)
{
printf("%d ",i);
}
printf("%d ",n-4);
for(int i=n;i>=1;i-=2)
{
if(i!=n-4)
{
printf("%d ",i);
}
}
}
else
{
for(int i=1;i<=n;i+=2)
{
printf("%d ",i);
}
printf("%d ",n-3);
for(int i=n-1;i>=1;i-=2)
{
if(i!=n-3)
printf("%d ",i);
}
}
printf("\n");
}
}
}