luogu#P5013. 水の斗牛

水の斗牛

题目背景

蒟蒻CYJian{\rm CYJian}拉着JerryC{\rm JerryC}Justin{\rm Justin}等一众机房巨佬来打斗牛辣!!

题目描述

现在一共有NN个人玩起了斗牛。一共玩了T局,每局有三个人参与游戏,每个人的初始分都是0。

本题为了方便,对于斗牛的基本规则做了些许变动,具体规则如下:

1.基本规则

每一轮斗牛开始时,每一位玩家都会拿到5张牌。

每张牌一定是一个2到10之间的整数或A(表示1)。

每张牌有一个花色,a代表黑桃,b代表红桃,c代表梅花,d代表方块。

2.牌型

五张牌中,除炸弹和无牛牌型以外,都分为两个部分:牛和分。其中牛包括三张点数相同(铁板)或三张点数和为10的倍数的牌,分包括剩下的两张牌,一套牌的分即为这两张牌模10的余数。

1)炸弹:四张点数相同的牌。

2)牛牛:分恰好为0。

3)牛:分不为0,分和牛数的数值相同。如分是5,则这套牌被称为牛五。

4)无牛:不存在三张牌,其点数相同或其点数和为10的倍数。

3.牌型大小关系

炸弹>牛牛>牛九>牛八>……>牛二>牛一>无牛

双方拥有炸弹时,炸弹点数大的更大;

相同牛数且只有一方有铁板时,有铁板的比没有铁板的大;

相同牛数且双方拥有铁板时,铁板点数大的更大;

相同牛数且双方均没有铁板或双方均无牛时,我们比较双方牌中点数最大的一张牌,点数更大的一方更大;若双方点数最大的一张牌点数相同,则花色更大的一方更大,花色大小为黑桃>红桃>梅花>方块。

4.计分

一局牌的底分为10,即每位玩家都会押10分。

对于其中的两位玩家,我们在比较完双方的牌型之后,选择牌型更大的一方的牌型来计算得失分数的翻倍。具体如下:

1)炸弹:底分×10。

2)牛牛:底分×3。

3)牛七/牛八/牛九:底分×2。

4)牛六~牛一:底分。

5)无牛:底分。

6)铁板:在计算完牌型得分之后,在牌型得分的基础上×2。注意铁板翻倍不与炸弹同时进行。

我们在计分时,采用两两之间计分的方式,也就是说对于三名玩家A、B、C,我们先计算A和B之间的分数得失,再计算A和C之间的分数得失,最后计算B和C之间的分数得失。

现在我们假设所有玩家都足够聪明,也就是说,所有玩家都会打出他们手上的牌中最大的牌型。CYJian{\rm CYJian}想知道,在这T轮游戏结束之后,每位玩家的得分情况。

输入格式

第一行两个整数id,T,N。其中id表示测试点编号,对于部分分可能有一定帮助。其中样例的测试点编号为0。

接下来N行,每行一个仅包括大小写字母和数字的长度少于11的字符串表示玩家名称。

接下来T组,每组数据六行,可分为三个相同的部分:

第一行一个字符串表示玩家名称。

第二行五个字符串表示该玩家手中的手牌。每一个字符串的第一个字符表示花色,其余字符表示牌的大小。

输出格式

共N行,每行一个字符串和一个数字,中间用空格隔开。表示一名玩家和他的最终得分。

请按照玩家名称的输入顺序输出。

0 2 3
CYJian
JerryC
Justin
CYJian
a10 b10 c10 d10 a9
JerryC
cA b2 c3 d4 d5
Justin
aA bA dA a4 c6
CYJian
aA b2 c3 d4 a5
JerryC
bA c2 d3 a4 b5
Justin
cA d2 a3 c4 c5
CYJian 220
JerryC -160
Justin -60
0 3 4
CYJian
JerryC
Samcompu
Hsl2363
CYJian
a2 b5 c8 d4 aA
Samcompu
a2 bA c3 a4 c5
JerryC
aA b2 c7 c4 c6
Hsl2363
aA bA cA dA a10
Samcompu
a2 b2 c2 d2 b10
JerryC
a3 b3 c3 d3 c10
Hsl2363
a5 c6 d8 a9 b9
JerryC
b6 b2 c9 a7 d2
CYJian
b5 d5 c5 a6 d9
CYJian 120
JerryC 150
Samcompu -60
Hsl2363 -210

提示

样例一解释:

第一局玩家牌型如下:

CYJian{\rm CYJian}:炸弹

JerryC{\rm JerryC}:牛五

Justin{\rm Justin}:铁板牛牛

所以CYJian{\rm CYJian}加200分,JerryC{\rm JerryC}扣160分,Justin{\rm Justin}扣40分。

第二局中,所有人都是牛五,但是CYJian{\rm CYJian}拥有黑桃五,JerryC{\rm JerryC}拥有红桃五,Justin{\rm Justin}拥有梅花五,所以CYJian{\rm CYJian}加20分,JerryC{\rm JerryC}没有变化,Justin{\rm Justin}扣20分。

数据范围:

测试点编号 TT NN 特殊性质
11 00 33 性质4
22 55
33-44 性质1
55-66 性质2
77-88 性质3
99-1010 性质5
1111-1212 1010
1313-1414 100100
1515-1616 10001000
1717-1818 1000010000
1919-2020 100000100000 性质5,1.5s

性质1:保证所有的人拥有炸弹。

性质2:保证每一手牌花色全部相同。

性质3:保证每一手牌所有数字不同。

性质4:保证数据手造。

性质5:保证数据随机生成。

保证每一局没有重复的牌。

保证每一个人的名字不相同。

保证出题人是CYJian{\rm CYJian}

保证数据没有锅。

不保证没有人能做出来。

不保证此题代码很长。