T503104 小猫钓鱼
题目背景
小猫钓鱼是一种扑克牌游戏,通常是两个人一起玩。
### 规则介绍
1. 把一摞 $52$ 张的扑克牌(去掉大小王)分成相等的两份,即每份 $26$ 张。把这两摞牌分别分给两个人,并决定谁先出牌。
2. 每个人一次从自己的牌堆顶部摸出一张牌,并放在一个规定位置(后一个人放的牌应当遮住前一个人放的的下半部分,仅露出数字。)
每次摸牌有三种情况:
2.1.
- 当摸到的牌为 `J`(即 $11$)时,则摸到该牌的玩家可以把当前场上所有的牌(包括自己摸出的 `J`)依次取走并堆放在自己旁边。
- 当摸到的牌不是 `J`(即 $11$),但该牌上方有和自己数字相同的牌时,则摸到该牌的玩家可以把从上方的牌到该牌之间所有的牌(包括上方的牌和自己摸出的牌)都依次取走并堆放在自己旁边。
- 当摸到的牌不是 `J`(即 $11$),该牌上方也没有和自己数字相同的牌时,不会进行任何特殊操作。
3. 像这样持续玩下去,直到两人的牌都摸完,游戏就结束。此时取走牌数量更多的玩家获胜。
题目描述
现在小俞和小锦在玩小猫钓鱼这个扑克牌游戏,小航在旁边看。
小航已经偷偷翻看了两人的牌堆,知道了两人牌堆从上到下的顺序。他也知道谁先摸牌。现在他想知道游戏结束时小俞和小锦取走的牌从上到下的顺序是什么以及牌堆中还剩下哪些牌。
但口算又太麻烦且容易出错,所以他想要写一个程序来算。但不幸的是,小航是一个菜B,他只会用C++写 Hello,world! 连 A+B problem 都不会,所以他决定向你寻求帮助。
输入格式
第一行一个整数 $1$ 或 $2$,$1$ 表示小俞先手,$2$ 表示小锦先手。
接下来的一行两个长度为 $26$ 的字符串,只包含 `A23456789TJQK` $13$ 种字符,其中 $\texttt{A}$ 表示 $1$,$\texttt{T}$ 表示 $10$,$\texttt{J}$ 表示 $11$,$\texttt{Q}$ 表示 $12$,$\texttt{K}$ 表示 $13$,保证每个字符在两个字符串中总共只含有 $4$ 个,分别表示对小俞和小锦牌堆的描述(从上到下)。
输出格式
第一行两个字符串,只包含 `A23456789TJQK` $13$ 种字符,其中 $\texttt{A}$ 表示 $1$,$\texttt{T}$ 表示 $10$,$\texttt{J}$ 表示 $11$,$\texttt{Q}$ 表示 $12$,$\texttt{K}$ 表示 $13$,分别表示对游戏结束时小俞和小锦取走的牌的描述(从上到下)。
接下来一行一个字符串,表示对游戏结束时牌堆中剩下的牌的描述(从上到下)。
说明/提示
数据保证小俞和小锦都取走了牌。
对于 $18\%$ 的数据,牌堆内没有剩余的牌。
对于 $40\%$ 的数据,$n=1$。