OD统一机试:斗地主
题目
斗地主起源于湖北十堰房县,
据传是一位叫吴修全的年轻人根据当地流行的扑克玩法“跑得快”改编的,
如今已风靡整个中国,并流行于互联网上
牌型:
单顺,又称顺子,最少5张牌,最多12
张牌(3...A
),不能有2
,
也不能有大小王,不计花色
例如:3-4-5-7-8
,7-8-9-10-J-Q
,3-4-5-6-7-8-9-10-J-Q-K-A
可用的牌3<4<5<6<7<8<9<10<J<Q<K<A<2<B(小王)<C(大王)
,
每种牌除大小王外有4
种花色(共有13X4+2
张牌)
输入
- 手上已有的牌
- 已经出过的牌(包括对手出的和自己出的牌)
输出:对手可能构成的最长的顺子(如果有相同长度的顺子,输出牌面最大的那一个),
如果无法构成顺子,则输出NO-CHAIN
输入
输入的第一行为当前手中的牌
输入的第一行为已经出过的牌
输出
最长的顺子
示例一
输入
3-3-3-3-4-4-5-5-6-7-8-9-10-J-Q-K-A
4-5-6-7-8-8-8
输出
9-10-J-Q-K-A
示例二
输入
3-3-3-3-8-8-8-8
K-K-K-K
输出
NO-CHAIN
解题思路
- 定义了一个名为 graph 的数组,用于存储所有牌的类型。
- 定义了一个 diff 函数,用于删除给定的牌,它会对对象 cards 中的牌数进行减少。
- 定义了一个 find 函数,用于在给定的牌中寻找顺子。这个函数使用 for 循环来遍历 graph 数组,并在 cards 对象中寻找长度大于等于