#Summer2400203. 不完美的洗牌
不完美的洗牌
不完美的洗牌
时空限制:2s 256MB
题目描述
最近小鹿看了刘谦的扑克牌魔术开始沉迷与各种洗牌技巧,但是他做不到完美的洗牌。不过他可以用一些特定的手法保证某种洗牌方案不变(比如将牌堆顶部的牌放到底部)。于是,他很想知道假如重复一个洗牌动作很多次,最终牌的顺序会变成什么样子。
具体来说,有一副牌有n张不同的牌,编号为0到n-1,初始时按照升序排列。第一次洗牌时,他会把第i号牌放到处。之后继续用相同的洗牌方式重复m遍。请你给出最终第i号牌在何处。
输入格式
第一行一个整数T,表示测试样例数,每组样例有两行。 样例的第一行有两个整数n和m,表示牌数和洗牌次数。 第二行n个数, 表示洗牌方案。
输出格式
T行数据,每行n个数,第i个数表示第i号牌在第i个位子上。
输入样例
2
5 3
1 2 3 4 0
8 3
0 2 4 6 1 3 5 7
输出样例
3 4 0 1 2
0 1 2 3 4 5 6 7
样例解释 对于三组样例,洗牌的过程如下: (0,1,2,3,4)-> (4,0,1,2,3)-> (3,4,0,1,2)->(2,3,4,0,1).
(0,1,2,3,4,5,6,7)->(0,4,1,5,2,6,3,7) ->(0,2,4,6,1,3,5,7)->(0,1,2,3,4,5,6,7).
数据范围
对于20%的数据 T=1,n<=10,m<=100. 对于40%的数据T=1000,n<=10000,m<=10000. 对于100%的数据T<=1e6,n<=1e6,m<=1e18.
保证n的和不超过1e6。