#HK5192. 「PA 2016」Tasowanie

「PA 2016」Tasowanie

题目描述

题目译自 PA 2016 Runda 1 Tasowanie

Bajtazar 学会了一种引人注目的递归洗牌方法。对于恰好有两张牌的牌堆,洗牌仅仅是交换两张牌的顺序。而对于由 2k2^{k}k2k \geq 2)张牌组成的牌堆,洗牌过程如下:首先将牌堆平均分成上半部分和下半部分。然后,分别对这两个部分(各有 2k12^{k-1} 张牌)进行递归洗牌,最后将洗好的下半部分放在洗好的上半部分之上。

Bajtazar 拥有一副由 2n2^{n} 张牌组成的牌堆,每张牌上写有一个数字。他执行上述洗牌过程 tt 次,想知道在所有洗牌完成后,牌堆中各张牌上的数字顺序。

输入格式

输入数据的第一行包含两个整数 nntt (1n20,1t109)(1 \leq n \leq 20, 1 \leq t \leq 10^{9})

第二行包含 2n2^{n} 个整数 a1,,a2na_{1}, \ldots, a_{2^{n}} (1ai109)(1 \leq a_{i} \leq 10^{9})aia_{i} 表示 Bajtazar 牌堆中从上往下第 ii 张牌上的数字。

输出格式

输出一行包含 2n2^{n} 个数字,表示 Bajtazar 牌堆在 tt 次洗牌后,从上往下的各张牌上的数字。

2 1
2 4 1 5

5 1 4 2