Nagisa,如果你还在的话…我们就能凑一起打麻将了,还玩什么扑克牌啊!
——Okazaki Tomoya
Okazaki Ushio是一个乖巧懂事的小女孩。今天,在幼儿园里,Ushio的老师Fujibayashi Kyou教了Ushio一个名为“Five-card Stud”(即我们常说的“梭哈”)的扑克牌游戏。Ushio非常开心,回到家后便缠着爸爸Okazaki Tomoya一起玩扑克牌。
但是在玩牌的过程中,Ushio发现,这个游戏的规则对她来说实在是太复杂了,每玩一局,Ushio总是要算好久才能算出胜负。你能写个程序帮助Ushio计算游戏胜负吗?
“Five Card Stud”的游戏规则如下:
双方各发5张牌,5张牌可构成9种不同牌型,不同牌型有大小之分,这9种牌型按从小到大分别是:
1.无对(Zilch):手中都是单牌(即不符合2~9中任何一条规则)。如果双方都是无对,则分别拿出点数最大的牌来比,大的一方赢(如果相等则比较第二大,以此类推)。
2.一对(One Pair):5张牌中有且仅有2张一样点数的牌称为一对。如果双方都是一对,则比较谁的对子的点数较大,如果对子一样大,则将非对子的3张牌按照无对的比较规则来进行大小比较。
3.两对(Two Pairs):5张牌中有2对具有相同点数的牌。若双方都是两对,先比较双方最大的一对,若最大的一对相等,则比较次大的一对,若次大的一对也相等,则比较单牌的大小。
4.三条(Three of a kind):5张牌中有且仅有3张相同点数的牌,且其余两张牌不成对。若双方都是三条,则比较三条的大小。(注:由于一共只有4张点数相同的牌,故不可能出现双方三条相等的情况,后面的满堂红和四条同理)
5.顺子(Straight):5张顺连的牌。若双方都是顺子,比较双方最大的那张牌的点数。(注:A,2,3,4,5不构成顺子,10,J,Q,K,A才是顺子)
6.同花(Flush):5张花色一样的牌。若双方都是同花,则按照无对的比较方法进行大小比较。
7.满堂红(Full House):3张同一点数的牌加上1对其它点数的牌。若双方都是满堂红,则比较双方牌中3张相同牌的点数大小。
8.四条(Four of a Kind):5张牌中有且仅有4张相同点数的牌。若双方都是四条,则比较双方牌中4张相同牌的点数大小。
9.同花顺(Straight Flush):花色相同的顺子。若双方都是同花顺,则比较双方最大那张牌的点数。
接下来双方出示自己的5张牌,先按牌型进行大小比较,牌型大的赢。若牌型相同,则按牌面大小进行比较(具体比较规则见上)。值得一提的是,这里使用的是只有52张的扑克牌(即没有大小王),且点数的大小顺序为:A>K>Q>J>10>9>8>7>6>5>4>3>2,扑克牌里一共有四种花色,分别为黑桃(Spade)、红桃(Heart)、草花(Club)和方块(Diamond)(在输入时分别用其首字母代表对应花色)。
首先输入一个正整数T,代表T轮游戏。
对于每一轮游戏,输入10张牌,每张牌由“[点数][花色]”组成,其中前5张为Ushio的牌,后5张为Tomoya的牌。
若Ushio赢,输出“Ushio shouri!”;若Tomoya赢,则输出“Papa shouri!”;若平局,输出“Mama!”。