#B4366. [语言月赛 202507] 卡牌游戏
[语言月赛 202507] 卡牌游戏
题目描述
小 G 学会了洗牌操作:
- 首先,给出一个参数 ,将这副牌分为两堆:牌堆 A 从顶到底包含第 张到第 张牌,牌堆 B 从顶到底包含第 到第 张牌。
- 接下来,从牌堆 A 开始,轮流从两个牌堆中取出牌堆顶部的一张牌,放到新牌堆的底部,直到其中一个牌堆被抽完为止。
- 最后,将仍剩余卡牌的牌堆的所有牌按原顺序放到新牌堆的底部。
初始时,这副牌从顶到底第 张的编号为 ,你需要对这副牌进行一次洗牌操作,并输出最终得到的牌堆从顶到底每一张牌的编号。
输入格式
第一行输入两个用空格分隔的正整数 。
第二行输入 个用空格分隔的正整数,第 个输入的正整数表示当前牌堆中从顶到底第 张牌的卡牌编号。
保证输入的卡牌编号都是 的正整数,且每个编号出现恰好一次。
输出格式
输出一行 个用空格分隔的正整数,表示洗牌后得到的牌堆从顶到底每一张牌的编号。
6 2
1 2 3 4 5 6
1 3 2 4 5 6
7 1
1 5 2 3 6 7 4
1 5 2 3 6 7 4
12 6
10 7 9 5 11 6 12 8 4 3 2 1
10 12 7 8 9 4 5 3 11 2 6 1
提示
样例 1 解释
首先将牌按 分成两堆: 和 ,分别称为牌堆 A 和牌堆 B。
轮流从两个牌堆中取出牌堆顶部的一张牌,放到新牌堆的底部:
- 第一次抽牌:
- 新牌堆:。
- 牌堆 A:。
- 牌堆 B:。
- 第二次抽牌:
- 新牌堆:。
- 牌堆 A:。
- 牌堆 B:。
此时牌堆 A 被抽完,将牌堆 B 剩余卡牌放到新牌堆的底部。
此时新牌堆:。
样例 2 解释
此样例满足测试点 的限制。
样例 3 解释
此样例满足测试点 的限制。
数据范围与约定
对于全部数据,满足 ,。各测试点的详细数据范围见下表。
测试点 | 特殊性质 | |
---|---|---|
且 为偶数 | ||
无 | ||