#OD056. 德州扑克
德州扑克
题目解析和算法源码
华为OD机试 - 德州扑克(Java & JS & Python & C & C++)_伏城之外的博客-CSDN博客
题目描述
五张牌,每张牌由牌大小和花色组成,牌大小2~10、J、Q、K、A,牌花色为红桃、黑桃、梅花、方块四种花色之一。
判断牌型:
- 牌型1,同花顺:同一花色的顺子,如红桃2红桃3红桃4红桃5红桃6。
- 牌型2,四条:四张相同数字 + 单张,如红桃A黑桃A梅花A方块A + 黑桃K。
- 牌型3,葫芦:三张相同数字 + 一对,如红桃5黑桃5梅花5 + 方块9梅花9。
- 牌型4,同花:同一花色,如方块3方块7方块10方块J方块Q。
- 牌型5,顺子:花色不一样的顺子,如红桃2黑桃3红桃4红桃5方块6。
- 牌型6,三条:三张相同+两张单。
说明:
- 五张牌里不会出现牌大小和花色完全相同的牌
- 编号小的牌型较大,如同花顺比四条大,依次类推。
- 包含A的合法的顺子只有10 J Q K A和A 2 3 4 5;类似K A 2 3 4的序列不认为是顺子。
输入描述
输入由5行组成,每行为一张牌大小和花色,牌大小为2~10、J、Q、K、A,花色分别用字符H、S、C、D表示红桃、黑桃、梅花、方块。
输出描述
输出牌型序号,5张牌符合多种牌型时,取最大的牌型序号输出。
用例1
输入
4 H
5 S
6 C
7 D
8 D
输出
5
说明
4 5 6 7 8构成顺子,输出5
用例2
输入
9 S
5 S
6 S
7 S
8 S
输出
1
说明
既是顺子又是同花,输出1,同花顺