描述
师徒四人来到澳门,八戒被一只小妖拦住,玩起了扑克。牌局最终八戒输了,向悟空求救。荷官的每次洗牌都是**完美洗牌(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 $ 张的扑克牌编号,相邻整数之间用一个空格隔开。
样例
- 复制
- 复制
提示
### 样例说明
- 初始牌:`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 $

关注我们