14107 - 西游记之澳门风云
时间限制 : 1 秒
内存限制 : 128 MB
师徒四人来到澳门,八戒被一只小妖拦住,玩起了扑克。牌局最终八戒输了,向悟空求救。荷官的每次洗牌都是完美洗牌(Faro Shuffle):
- 初始有一副扑克,共 2n 张,编号依次为 1, 2, \dots, n, n+1, \dots, 2n 。
一次洗牌后,牌的顺序变为:
n+1, 1, n+2, 2, n+3, 3, \dots, 2n, n
即前 n 张牌中的第 i 张(原编号 i )被放到新序列的第 2i 位;后 n 张牌中的第 i 张(原编号 n+i )被放到新序列的第 2i-1 位。
给定 n 和洗牌次数 m ,请输出经过 m 次洗牌后,扑克牌的最终顺序。
输入
输入仅一行,包含两个整数 n 和 m ,用空格隔开:
- n :牌数的一半(总牌数为 2n )。
- m :洗牌次数。
输出
输出一行,包含 2n 个整数,表示经过 m 次洗牌后,从第 1 张到第 2n 张的扑克牌编号,相邻整数之间用一个空格隔开。
样例
输入
4 2
输出
7 5 3 1 8 6 4 2
提示
样例说明
- 初始牌:
1 2 3 4 5 6 7 8 - 洗 1 次后:
5 1 6 2 7 3 8 4 - 洗 2 次后:
7 5 3 1 8 6 4 2
因此输出 7 5 3 1 8 6 4 2。
数据范围与约定
- 1 < n < 100
- 1 < m < 10^{18}
- 总牌数 2n < 200