#P2694. A Simple Poker Game

A Simple Poker Game

描述

一家软件公司希望编写一个程序来玩一个简单的扑克游戏。在这个游戏中,玩家会从一副5252张不同的扑克牌中随机获得一手55张不同的牌。一副5252张的牌由44种花色组成,每种花色有1313张牌,牌的等级和顺序为:A23456789XJQA、2、3、4、5、6、7、8、9、X、J、QKK。四种花色分别是梅花(CC)、红桃(HH)、黑桃(SS)和方块(DD)。

你的任务是编写一个程序,根据以下评分规则计算一手55张牌的得分:

  • 同花顺10001000
    五张同一花色的连续牌,例如红桃的7654376543。注意,AKQJXAKQJX也被视为一个有效的序列。

  • 四条750750
    四张相同等级的牌加一张“杂牌”,例如4444244442

  • 葫芦500500
    三张相同等级的牌加两张另一等级的牌,例如777JJ777JJ

  • 同花350350
    五张同一花色的牌,例如红桃的AJ942AJ942

  • 顺子250250
    五张连续的牌,例如7654376543。注意,AKQJXAKQJX也被视为一个有效的序列。

  • 三条200200
    三张相同等级的牌加两张不同等级的杂牌,例如KKK84KKK84

  • 两对100100
    两对相同等级的牌加一张杂牌,例如KK449KK449

  • 一对5050
    两张相同等级的牌加三张不同等级的杂牌,例如AAK53AAK53

  • 无任何牌型00
    任何不符合上述规则的牌型,例如混合花色的KJ542KJ542

注意,如果一手牌同时满足多个规则,则只应用得分最高的规则。例如,“葫芦”包含“三条”和“一对”,但只计算“葫芦”的得分(即500500分),其他规则不重复计算。

输入

第一行包含手牌的数量www100w \leq 100。接下来依次列出ww手牌。每手牌来自一副完整的5252张牌。每手牌在一行中列出55张牌,每张牌由两个大写字母表示,第一个字母是花色,第二个字母是等级。两张牌之间用一个空格隔开。每手牌的牌序未经过排序。

输出

对于每手牌,输出其得分,每行一个结果。

输入数据 11

3  
C3 D4 D5 S3 CX  
CA C5 D4 D3 S2  
HA HJ HX HQ HK  

输出数据 11

50  
250  
1000  

来源
台湾 2004