include<stdio.h>
include<string.h>
int main()
{
int k,n;
int i;
scanf("%d",&k);
while(k--)
{
scanf("%d",&n);
if(n==1)
{
printf("1\n");
} else if(n==2) { printf("2 2\n"); } else if(n%2==1) { for(i=2;i<n;i++) { printf("%d ",i); } for(i=2;i<n;i++) {if(i==n-1) { printf("%d\n",i); } else printf("%d ",i); } } else if(n%2==0) { for(i=2;i<n;i++) { printf("%d ",i); } for(i=n-1;i>=2;i--) {if(i==2) { printf("%d\n",i); } else printf("%d ",i); } } } return 0;
}
玫瑰花最差的情况是在最边上,从中间开始找,如果是奇数,例如7,则从2开始,找到6,最差情况是花开始在7,第一遍找完,花只能在6,再从2找一遍,找到6,则找到6的时候找到花。若为偶数,则从而开始找,最差情况在边上,例如6,花最初在1,从二开始找,找到5,这时花在2,再从五开始找,找到2,就可以找到花。
通过紧逼花的走向,来将花定位到第二位或倒二位,然后在紧逼一次就可以得到解。