#1502. 卡牌游戏

卡牌游戏

题目描述

nn 张卡牌,它们的点数是 nn 的一个排列。请按以下步骤进行操作:

  • 首先将这副牌分为两堆:牌堆 AA 从顶到底分别是原牌堆的第 11 张到第 kk 张牌,牌堆 BB 从顶到底分别是原牌堆的第 k+1k+1 张到第 nn 张牌。
  • 接下来,从牌堆 AA 开始,轮流从两个牌堆中取出各自牌堆顶部的一张牌,放到新牌堆 CC底部(初始时 CC 为空),直到其中一个牌堆被抽完为止。
  • 最后,将 AABB 中剩余的卡牌按顺序依次放到新牌堆 CC 的底部。

请你输出最终 CC 牌堆从顶到底每一张牌的编号。

输入格式

第一行:输入两个整数 n,kn,k,含义与题目中相同。

第二行:输入 nn 个整数 a1,a2,...,ana_1,a_2,...,a_n,分别表示初始牌堆每张牌的点数。

输出格式

输出 nn 个整数,分别表示 CC 牌堆从顶到底每张牌的点数,以空格分隔。

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

样例 11 解释

首先将初始牌堆分成两堆:A={1,2}A=\{1,2\}B={3,4,5,6}B=\{3,4,5,6\}

轮流从两个牌堆中取出牌堆顶部的一张牌,放到新牌堆的底部:

初始时 C={}C=\{\}

第一次抽牌,A={2}B={3,4,5,6}C={1}A=\{2\},B=\{3,4,5,6\},C=\{1\}

第二次抽牌,A={2}B={4,5,6}C={1,3}A=\{2\},B=\{4,5,6\},C=\{1,3\}

第三次抽牌,A={}B={4,5,6}C={1,3,2}A=\{\},B=\{4,5,6\},C=\{1,3,2\}

此时终止抽牌,并将 BB 中剩余卡牌按顺序放到 CC 的底部,C={1,3,2,4,5,6}\{1,3,2,4,5,6\}

数据范围与约定

对于全部数据,满足 1n20001\le n\le 20001kn1\le k\le n。各测试点的详细数据范围见下表。

测试点 nn 特殊性质
141\sim 4 100\le 100 k=1k=1
585\sim 8 k=n2k=\frac{n}{2}nn 为偶数
9129\sim 12 2000\le 2000
131513\sim 15 100\le 100
162016\sim 20 2000\le 2000