#L0308. 交替洗牌
交替洗牌
题目描述
有一副共 张的牌,编号为 。
给定一个参数 ,执行一次洗牌操作:
- 将牌分成两堆:牌堆 A 包含第 到第 张,牌堆 B 包含第 到第 张。
- 从牌堆 A 开始,轮流从两个牌堆顶部各取一张牌放到新牌堆底部,直到某一堆取完。
- 把剩余那堆的牌按原顺序全部接到新牌堆底部。
初始时从顶到底第 张的编号为 ,输出洗牌后新牌堆从顶到底每张牌的编号。
输入格式
第一行输入两个用空格分隔的正整数 。
第二行输入 个用空格分隔的正整数,第 个表示当前牌堆中从顶到底第 张牌的编号。
保证编号都是 的正整数,且每个编号恰好出现一次。
输出格式
输出一行 个用空格分隔的正整数,表示洗牌后新牌堆从顶到底每张牌的编号。
样例
6 2
1 2 3 4 5 61 3 2 4 5 6
7 1
1 5 2 3 6 7 41 5 2 3 6 7 4
12 6
10 7 9 5 11 6 12 8 4 3 2 110 12 7 8 9 4 5 3 11 2 6 1
提示
样例 1 解释
按 分成两堆: 和 。
轮流取牌:
- 第一次:A 取 ,B 取 ,新牌堆 。
- 第二次:A 取 ,B 取 ,新牌堆 。
A 取完,把 B 剩余 接上,结果 。
样例 2 解释
此样例满足测试点 的限制。
样例 3 解释
此样例满足测试点 的限制。
数据范围与约定
对于全部数据,,。
| 测试点 | $n$ | 特殊性质 |
|---|---|---|
| $1\sim 4$ | $\le 100$ | $k=1$ |
| $5\sim 8$ | $\le 100$ | $k=\frac{n}{2}$ 且 $n$ 为偶数 |
| $9\sim 12$ | $\le 2000$ | $k=\frac{n}{2}$ 且 $n$ 为偶数 |
| $13\sim 15$ | $\le 100$ | 无 |
| $16\sim 20$ | $\le 2000$ | 无 |
难度
入门
通过率
—
尝试
0
已通过
0
- ID
- 1036
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者