每次找到最左的逆序相邻对并交换,等价于逐步消除逆序。
报文流水线里有一段长度为 n 的排列 s1,s2,…,sn。系统会执行恰好 t 次局部整理:
每次从左到右找到第一个满足 si>si+1 的位置 i,交换 si 与 si+1。
若不存在这样的位置,该次操作什么也不做。
请输出 t 次操作后的排列。
第一行一个整数 q(1≤q≤100),表示询问个数。
每组询问:
保证单个文件中所有询问的 n 之和不超过 1000。
对每个询问输出一行 n 个整数,为操作结束后的排列。
输入
3
5 2
2 3 1 5 4
3 100
3 2 1
4 0
2 1 3 4
输出
1 2 3 5 4
1 2 3
2 1 3 4
说明
第 1 个询问:[2,3,1,5,4]i=2[2,1,3,5,4]i=1[1,2,3,5,4]。
第 2 个询问:逆序足够少,t 很大时最终升序为 1 2 3。
第 3 个询问:t=0,输出原排列。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.