luogu#P11429. [COCI 2024/2025 #2] 谬误 / Paradoks

[COCI 2024/2025 #2] 谬误 / Paradoks

题目背景

译自 COCI 2024/2025 #1 T1。1s,0.5G\texttt{1s,0.5G}。满分为 5050

题目描述

五个人围坐在圆桌边上玩游戏。顺时针方向上看过去,五个人分别是 Igor, Lea, Marino, Sonja, Viktor\text{Igor, Lea, Marino, Sonja, Viktor}

游戏有 nn 场。第一场第一个出牌的人为 Sonja\text{Sonja},此后每一场第一个出牌的人都是上一场的胜者。每场中,五个人按顺时针方向上的顺序依次出牌,每个人恰好出一次牌。

每人手里都有 nn 张无色牌,编号 1n1\sim n。出牌时,选择手中的一张牌,并选择红蓝黄绿中的一种颜色涂在牌上打出。此外,我们要求,颜色和数字的组合之前没有被打出过。

每场中,第一个出牌的人打出的牌的颜色称为场风。每个人打的牌的颜色都应该尽可能是场风。如果没有打出场风的牌的话,那么从此刻开始(在接下来的场次中)他就再也不能打(该场次)场风的牌了。

每场中胜者的确定方式如下:

  • 如果有人打出过红牌,则取打出数字最大的那个人;
  • 否则,取打出牌颜色是场风中数字最大的那个人;

有时候,会有人打出的牌违反规则:牌的颜色与数字组合已经被打出过了,或者使用了被禁用的颜色。此时我们称这次出牌谬误(paradox)。谬误的出牌是无效的,也就是说,出的谬误牌会被忽略掉,不算入胜者的计算,(如果是第一次打出的话)也不算打出过。保证每场第一个人出的牌不会谬误。

给定 nn 场中,出的五张牌依次是什么。你需要确定这场中出现了多少个谬误,并输出谬误出现的场次,以及是谁打出了谬误。

输入格式

第一行,一个正整数 nn

接下来 nn 行,每行五个字符串,每个字符串两个字符,表示这轮依次打出的牌:

  • 第一个字符,一个大写英文字母,代表颜色:
    • C\texttt{C}:红色;
    • P\texttt{P}:蓝色;
    • Y\texttt{Y}:黄色;
    • Z\texttt{Z}:绿色。
  • 第二个字符:数字 191\sim 9

输出格式

第一行,输出悖论数量 kk

接下来 kk 行,每行先是一个数字,再是一个字符串(全部大写),表示悖论发生的场次,以及谁打出了悖论。按顺序输出。

4
Y5 Z3 Y6 C2 Y1
Z4 Z7 Z2 Y2 P3
Z6 Z7 Z1 Y2 C2
P6 P8 P8 Z7 Y9
6
2 VIKTOR
3 SONJA
3 LEA
4 VIKTOR
4 IGOR
4 LEA
3
P1 Y9 Z5 Y1 Z5
P5 Y7 Z3 Y8 P1
C6 Y8 P5 Z1 Z8
4
1 MARINO
2 MARINO
3 VIKTOR
3 IGOR
1
Y4 P9 Y8 Z5 Z3
0

提示

样例解释

样例 11 解释见图片。

数据范围

对于 100%100\% 的数据,保证 1n101\le n\le 10

子任务编号 特殊性质 得分
1 1 AB 10 10
2 2 B
3 3 30 30
  • 特殊性质 A:
    • 每场比赛的胜利者都是 Sonja\text{Sonja}
  • 特殊性质 B:
    • 谬误的原因只有一个:打出了之前打出过的牌。