#P3032. Card Trick

Card Trick

题目描述

魔术师洗牌后将牌堆背面朝上,并按以下步骤操作:
11. 将顶部的牌移到底部,然后新的顶部牌正面朝上放在桌上,这张牌是黑桃A(1)
22. 将顶部两张牌依次移到底部,然后新的顶部牌正面朝上放在桌上,这张牌是黑桃2(2)
33. 将顶部三张牌依次移到底部,然后新的顶部牌正面朝上放在桌上,这张牌是黑桃3(3)
44. 依此类推,直到第nn张牌(最后一张)为黑桃nn

该魔术的关键在于预先排列牌序。你的任务是给定牌数nn1n131 \leq n \leq 13),求出初始牌堆的排列顺序。

输入格式

第一行:测试用例数量TT
接下来TT行:每行一个整数nn

输出格式

对每个nn,输出一行初始牌堆的排列(从顶部到底部),数字间用空格分隔。

样例输入 1

2
4
5

样例输出 1

2 1 4 3
3 1 4 5 2

样例解释

11. n=4n=4
初始牌堆 [2, 1, 4, 3] 的操作步骤:
移1张到底部 → [1, 4, 3, 2],顶部牌1(黑桃A)放桌上。
移2张到底部 → [3, 2, 1],顶部牌2(黑桃2)放桌上。
移3张到底部 → [1, 3],顶部牌3(黑桃3)放桌上。
最后剩1张牌4(黑桃4)。

22. n=5n=5
初始牌堆 [3, 1, 4, 5, 2] 的操作步骤类似,最终依次输出黑桃1至5。

关键思路

逆向模拟
11. 初始化一个空牌堆,按nn到1的顺序处理。
22. 对于当前数字kk,执行kk次**“将底部牌移到顶部”**(逆向操作),再将kk插入牌堆顶部。
33. 最终牌堆即为初始排列。

来源

Nordic 2006