PROJECT EULER · #0054
扑克手牌
Poker Hands
在纸牌游戏扑克中,一手牌由五张牌组成,按以下方式从低到高排列:
- 高牌:价值最高的牌。
- 一对:两张相同价值的牌。
- 两对:两对不同的。
- 三张牌:三张相同价值的牌。
- 顺子:所有牌都是连续的值。
- 同花:所有同花色的牌。
- 满堂彩:三个相同且一对。
- 四张牌:四张相同价值的牌。
- 同花:所有牌都是相同花色的连续值。
- 皇家同花顺:同花色为 10、J、Q、K、A。
牌的价值顺序为:
2、3、4、5、6、7、8、9、10、J、Q、K、A。
如果两名玩家的手牌等级相同,则由最高值组成的等级获胜;例如,一对八击败一对五(参见下面的示例 1)。但如果两个等级平局,例如,两个玩家都有一对 Q,则比较每手牌中最大的牌(参见下面的示例 4);如果最大的牌平局,则比较下一个最大的牌,依此类推。
考虑以下五手牌发给两名玩家:
| 牌局 | 玩家 1 | 玩家 2 | 获胜者 | |||
| 1 | 5H 5C 6S 7S KD 一对五 | 2C 3S 8S 8D TD 一对八人制 | 玩家 2 | |||
| 2 | 5D 8C 9S JS AC 最大牌 Ace | 2C 5C 7D 8S QH 最大牌皇后 | 玩家 1 | |||
| 3 | 2D 9C AS AH AC 三张 A | 3D 6D 7D TD QD 齐平钻石 | 玩家2 | |||
| 4 | 4D 6S 9H QH QC 一对皇后 最大牌九 | 3D 6D 7H QD QS 一对皇后 最大牌七 | 玩家 1 | |||
| 5 | 2H 2D 4C 4D 4S 满屋 三人间 | 3C 3D 3S 9S 9D 满屋庄家 三三 | 玩家 1 |
文件 poker.txt 包含发给两名玩家的 1000 手随机牌。文件的每一行包含十张牌(用一个空格分隔):前五张是玩家 1 的牌,后五张是玩家 2 的牌。您可以假设所有手牌都是有效的(没有无效字符或重复的牌),每个玩家的手牌没有特定的顺序,并且每手牌都有明显的获胜者。
玩家 1 赢了多少手牌?
题解待补充
这道题的题目已收录,解题思路、代码和答案将在后续补充。