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