T584566 [语言月赛 202503] 洗牌
题目描述
Alice 把 $2n$ 张扑克牌牌面朝下叠成一摞,并记住了从上到下每张扑克牌的种类(使用一个字符串表示)。之后,她将这摞牌交给 Bob 进行洗牌。
Bob 接过牌后,采用一种特殊的洗牌方式:
1. 首先,他从上到下取出前 $n$ 张牌划分为**左堆**,剩下的 $n$ 张牌划分为**右堆**;
2. 之后,他设定一个新的牌堆,并做 $2n$ 次操作。每次操作中,他随机从左堆或右堆的**顶部**取出一张牌,并放到新的牌堆的**顶部**。
虽然 Bob 费尽心思洗牌,但 Alice 依然能记住洗好的牌中每张牌是来自左堆还是右堆。她用一个字符串 $ f $(下标从 $1$ 开始)记录了这个信息,其中:
- $ f_i = \texttt{L} $ 表示新牌堆中从上到下第 $ i $ 张牌来自**左堆**;
- $ f_i = \texttt{R} $ 表示新牌堆中从上到下第 $ i $ 张牌来自**右堆**。
接下来,Bob 按顺序发牌:从洗好的牌堆顶部开始,他交替地把每张牌发给 Alice 和自己,第一张给 Alice,第二张给自己,第三张再给 Alice,以此类推。
你的任务是计算出 Alice 最终拿到的所有牌,并按她**拿到牌的顺序**输出。
输入格式
无
输出格式
无
说明/提示
### 样例 1 解释
初始时牌堆中牌的种类从上到下依次为:$\texttt{A1,B2,C3,D4,E5,F6,G7,H8}$。
Bob 将其分为左右两堆,两堆中的牌的种类从上到下依次为:
- 左堆:$\texttt{A1,B2,C3,D4}$;
- 右堆:$\texttt{E5,F6,G7,H8}$。
在洗牌过程中,左堆、右堆、新的牌堆中从上到下牌的种类如下表所示:
| 操作次数 | 左堆(从上到下) | 右堆(从上到下) | 新的牌堆(从上到下) |
| :----------: | :----------: | :----------: | :----------: |
| 初始 | $\texttt{A1,B2,C3,D4}$ | $\texttt{E5,F6,G7,H8}$ | 空 |
| $1$($\texttt{L}$) | $\texttt{B2,C3,D4}$ | $\texttt{E5,F6,G7,H8}$ | $\texttt{A1}$ |
| $2$($\texttt{R}$) | $\texttt{B2,C3,D4}$ | $\texttt{F6,G7,H8}$ | $\texttt{E5,A1}$ |
| $3$($\texttt{R}$) | $\texttt{B2,C3,D4}$ | $\texttt{G7,H8}$ | $\texttt{F6,E5,A1}$ |
| $4$($\texttt{L}$) | $\texttt{C3,D4}$ | $\texttt{G7,H8}$ | $\texttt{B2,F6,E5,A1}$ |
| $5$($\texttt{R}$) | $\texttt{C3,D4}$ | $\texttt{H8}$ | $\texttt{G7,B2,F6,E5,A1}$ |
| $6$($\texttt{L}$) | $\texttt{D4}$ | $\texttt{H8}$ | $\texttt{C3,G7,B2,F6,E5,A1}$ |
| $7$($\texttt{R}$) | $\texttt{D4}$ | 空 | $\texttt{H8,C3,G7,B2,F6,E5,A1}$ |
| $8$($\texttt{L}$) | 空 | 空 | $\texttt{D4,H8,C3,G7,B2,F6,E5,A1}$ |
最终新的牌堆为:$\texttt{D4,H8,C3,G7,B2,F6,E5,A1}$。
按照发牌规则,第 $1, 3, 5, 7$ 张牌应当给予 Alice,因此 Alice 最终拿到的牌从前到后依次是 $\texttt{D4,C3,B2,E5}$。
### 数据规模与约定
本题共 $10$ 个测试点。对于 $100\%$ 的数据,$1\le n\le 100$。表示牌的种类字符串长度不超过 $5$,且仅会出现大小写字母和/或数字。$f$ 中 $\texttt{L}$ 和 $\texttt{R}$ 的出现次数相同。
| 测试点编号 | $n$ | 特殊性质 |
| :----------: | :----------: | :----------: |
| $1$ | $=1$ | 无 |
| $2, 3$ | $\leq 10$ | 无 |
| $4$ | $\leq 100$ | 所有代表牌种类的字符串相同 |
| $5$ | $\leq 100$ | $f$ 的前 $n$ 个字符一定是 $\texttt{L}$,后 $n$ 个字符一定是 $\texttt{R}$ |
| $6$ | $\leq 100$ | $f$ 的前 $n$ 个字符一定是 $\texttt{R}$,后 $n$ 个字符一定是 $\texttt{L}$ |
| $7$ | $\leq 100$ | $f$ 为 $\texttt{L,R}$ 交替构成(即 $f_1, f_3, f_5, \cdots = \texttt{L}$,$f_2, f_4, f_6, \cdots = \texttt{R}$) |
| $8 \sim 10$ | $\leq 100$ | 无 |