传统题 1000ms 256MiB

Card Game

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

来玩一把有趣的uno吧!

题目描述

在icpc西安邀请赛的前夕,参加比赛的atzk,wqsing和sad三人难以忍受长途跋涉,在坐高铁的途中玩起了一种有趣的卡牌游戏(uno),但是他们玩的似乎是盗版,与正常的规则相比,有所简化,以下是简要的游戏规则介绍:

每张卡牌都有着一个点数和一种颜色,点数为0到9中的任意一个数字,颜色有 红色(用R表示),黄色(用Y表示),蓝色(用B表示),绿色(用G表示)四种

每张牌可以用一个长度为2的字符串表示,第一位是R,Y,B,G中的其中一个字符,第二位是0到9中的任意一个字符

游戏的过程如下:

首先由指定的一名玩家开始出一张牌,然后按顺时针顺序依次进行出牌,当前出牌玩家需要出一张 与上家出牌颜色相同/与上家出牌数字相同/与上家出牌颜色、数字都相同的牌,需要注意的是,如果当前玩家手中没有能打出的牌,则需要从牌堆中摸堆顶上的一张牌,并跳过自己的回合 ,当出现一位玩家的手牌数为0时,游戏结束,TA取得胜利,当出现某个时刻牌堆为空但是仍未结束时,游戏也会结束,判定为平局 (也就是说,只要把牌堆取空后,游戏就会立刻自动结束,判定为平局)

现在有编号为11nnnn名玩家,每个玩家初始有mm 张牌,初始牌堆有kk张牌,给出每个玩家初始手牌信息和牌堆信息,初始由11号玩家按照顺时针顺序开始出牌(1,2,3,...,n1n,1,2,...1,2,3,...,n -1,n,1,2,...),且每一位玩家在手上有能应答上家的牌时,都会选择出牌 (对于所有玩家而言,如果有多张能够应答上张牌时,会遵循以下优先级规则) 11号玩家在游戏开始时,会先打出自己优先级最高的卡牌。

你需要判断哪个玩家是赢家,并输出其编号,如果平局,你需要输出0

优先级规则: 颜色的优先级:红>黄>蓝>绿

点数的优先级:0>1>...>9

进行对牌的优先级: 同色同点数牌>同色不同点数牌>不同色同点数牌

对牌时,如果有多张对牌优先级相同的牌,则会再进行颜色优先级和点数优先级的比较

输入格式

第一行输入$n,m,k(2 \leq n \leq 10,1 \leq m \leq 1000,1\leq k \leq 1000)$,含义和题目描述中相同

接下来输入nn 行,第iimm 个长度为2的字符串,表示第ii 个人的初始牌

接下来输入一行kk 个长度为2的字符串,表示牌堆中的牌

输出格式

输出赢家的编号,如果没有赢家,输出0

样例 #1

样例输入 #1

2 2 3
R1 G1
R2 G3
R1 R1 R3

样例输出 #1

1

样例 #2

样例输入 #2

2 2 3
R1 G1
R2 G3
R1 R2 R3

样例输出 #2

0

样例 #3

样例输入 #3

4 2 8
B1 R1
B2 R2
R2 R6
G3 G5
R1 R2 R3 R4 G1 G2 G3 G4

样例输出 #3

2

提示

样例解释: 对于样例1,1号玩家会先出红1,2号出红2应答,然后1号玩家无牌应答,只能从牌堆顶部抓牌,抓一张红1,之后2号玩家无牌应答先前自己打出的红2,只能从牌堆顶部抓牌,抓一张红1,之后1号玩家打出抓到的红1应答红2,之后2号玩家打出红1应答红1,之后1号玩家打出绿1应答红1,此时1号玩家打完手牌,游戏结束。

对于样例2,1号玩家会先出红1,2号出红2应答,然后1号玩家无牌应答,只能从牌堆顶部抓牌,抓一张红1,之后2号玩家无牌应答先前自己打出的红2,只能从牌堆顶部抓牌,抓一张红1,之后1号玩家打出抓到的红1应答红2,之后2号玩家打出红2应答红1,之后1号玩家无牌可出,只能再抓一张牌,由于抓牌后牌堆空了,因此平局

2024暑期集训第二周周赛

未参加
状态
已结束
规则
ACM/ICPC
题目
7
开始于
2024-7-13 14:00
结束于
2024-7-13 18:00
持续时间
4 小时
主持人
参赛人数
44