F-失踪的玫瑰
题号:NC200309
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

「嘻嘻」
我能确认,面前这位影从者的确是一个小女孩。而在我面前排列着一行许多从表面上看起来并没有什么区别的木盒子。到底是怎样的英灵才会在以幼儿时的形态为全盛时期呢,还是说她在幼年之时就英年早逝。
「很奇怪对吧,我是哈桑(assassin)之中的一员,十八位山中老人最年轻的一位」我丝毫没有从她的话语中感觉到压力
「作为山中老人,我并没有什么特技」她拿出了一朵花,那是白玫瑰,而在眨眼间,白玫瑰又消失了。她打开了面前那个木盒子,而那朵白玫瑰正静静的躺在里面「有的是只是把一些小巧的东西不为人知地搬运到不为人所见的地方,比如把需要的小刀运到触手可及的地方和把毒药滴入食物或饮用水之中。但也只是移动一段很小的距离」
「是宝具吗」
「好聪明啊,是固有结界」她取出那朵白玫瑰,而在眨眼间又消失在她的手上「想要我把你们从这里放出去,就把这朵白玫瑰从这n个排成一排的盒子里面找出来送给我吧。每次你们可以打开一个盒子检查(然后关上),然后我会把这朵玫瑰花移动一次,只是移动到左右相邻的两个盒子中一个」
虽然这个问题看起来很困难,但实际上很简单。为了赶时间,我要选用打开盒子次数最少并且一定能够找到玫瑰的方案来把玫瑰找出来。

输入描述:

第一行一个正整数T (1<=T<=100) ,代表接下来有多少次询问.
然后T行,每行一个正整数n (3<=n<=10000) ,表示有多少个木盒子

输出描述:

输出T行。
每行包括多个数字,代表每次检查第几个盒子(盒子编号从左到右递增,最左边的盒子编号为1,最右边的盒子编号为N)
(若存在多种方案,请输出字典序最小的那种)
两个长度为n的数组A(下标1...n)和B(下标1...n),A的字典序比B小当且仅当A1<B1或者存在一个整数j(1<=j<=n),满足对于所有的整数i(1<=i<j)有Ai == Bi,且Aj<Bj.
例如:
{1,1,2,1} < {1,1,2,3}
{2,1,1,3} < {3,1,1,1}
{100,0} == {100,0}
示例1

输入

复制
2
3
5

输出

复制
2 2 
2 3 4 2 3 4

说明

对于3的样例:
一开始,玫瑰可能在任意一个盒子中.
检查了第2个盒子之后,如果没找到,玫瑰只可能在1,3号盒子中.
移动一次玫瑰之后,玫瑰只可能在2号盒子中.
再次检查2,一定能找到.
所以需要2次.