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,就可以找到花。
通过紧逼花的走向,来将花定位到第二位或倒二位,然后在紧逼一次就可以得到解。



京公网安备 11010502036488号