P11429 [COCI 2024/2025 #2] 谬误 / Paradoks
题目背景
译自 [COCI 2024/2025 #2](https://hsin.hr/coci/) T1。$\texttt{1s,0.5G}$。满分为 $50$。
题目描述
五个人**围坐在圆桌边上**玩游戏。顺时针方向上看过去,五个人分别是 $\text{Igor, Lea, Marino, Sonja, Viktor}$。
游戏有 $n$ 场。第一场第一个出牌的人为 $\text{Sonja}$,此后每一场第一个出牌的人都是上一场的胜者。每场中,五个人按顺时针方向上的顺序依次出牌,每个人**恰好出一次**牌。
每人手里都有 $n$ 张无色牌,编号 $1\sim n$。出牌时,选择手中的一张牌,并选择红蓝黄绿中的一种颜色涂在牌上打出。此外,我们要求,颜色和数字的组合之前没有被打出过。
每场中,第一个出牌的人打出的牌的颜色称为**场风**。每个人打的牌的颜色都应该尽可能是场风。如果没有打出场风的牌的话,那么**从此刻开始**(在接下来的场次中)他就再也不能打(**该场次**)场风的牌了。
每场中胜者的确定方式如下:
- 如果有人打出过红牌,则取打出数字最大的那个人;
- 否则,取打出牌颜色是场风中数字最大的那个人;
有时候,会有人打出的牌违反规则:牌的颜色与数字组合已经被打出过了,或者使用了被禁用的颜色。此时我们称这次出牌**谬误**(paradox)。谬误的出牌是无效的,也就是说,出的谬误牌会被忽略掉,不算入胜者的计算,(如果是第一次打出的话)也不算打出过。**保证每场第一个人出的牌不会谬误。**
给定 $n$ 场中,出的五张牌依次是什么。你需要确定这场中出现了多少个谬误,并输出谬误出现的场次,以及是谁打出了谬误。
输入格式
第一行,一个正整数 $n$。
接下来 $n$ 行,每行五个字符串,每个字符串两个字符,表示这轮依次打出的牌:
- 第一个字符,一个大写英文字母,代表颜色:
- $\texttt{C}$:红色;
- $\texttt{P}$:蓝色;
- $\texttt{Y}$:黄色;
- $\texttt{Z}$:绿色。
- 第二个字符:数字 $1\sim 9$。
输出格式
第一行,输出悖论数量 $k$。
接下来 $k$ 行,每行先是一个数字,再是一个字符串(**全部大写**),表示悖论发生的场次,以及谁打出了悖论。**按顺序输出。**
说明/提示
#### 样例解释
样例 $1$ 解释见图片。

#### 数据范围
对于 $100\%$ 的数据,保证 $1\le n\le 10$。
| 子任务编号 | 特殊性质 | 得分 |
| :--: | :--: | :--: |
| $ 1 $ | AB | $ 10 $ |
| $ 2 $ | B | $ 10 $ |
| $ 3 $ | | $ 30 $ |
- 特殊性质 A:
- 每场比赛的胜利者都是 $\text{Sonja}$。
- 特殊性质 B:
- 谬误的原因只有一个:打出了之前打出过的牌。