定义:
Kajong 是一种纸牌游戏,包括三种类型的纸牌,Big、Small 和 Joker。
大牌有 8 种不同的值,以 A 到 H 标记。
小牌有 8 种不同的值,由 a 到 h 标记。
小丑卡标有 X。
规则:
一包总共有 5x8+5x8+3=83 张卡片。(大小各 5 张牌和 3 张小丑牌)
通常有 4 名玩家围着一张桌子玩 Kajong,在游戏开始时每人分配 10 张牌,剩下的 43 张牌放在牌堆中。每位玩家可以从牌堆顶部插入一张新牌到他/她的手上,看看这手 11 张牌是否会成为Cat,一种特殊形式的牌来赢得比赛。
Cat:
要知道 Cat 是什么,我们首先必须知道卡片是如何连接的。
有 3 种类型的连接:
三倍
3张相同大小写不敏感的卡片是一个Triple,例如A A A或B B b。
直的
具有 区分大小写值的 3 张牌是 Straight,例如 A B C 或 def。但是 BcD 不算数。
一对
大小写相同的2张卡片为Pair,如AA或BB。但是Dd不算。
Cat 是 11 张牌的特殊形式,其中 2 张构成对子,其余 9 张牌构成m Tripple(s) 和n Straight(s),当然,m + n = 3。
例如:
A A A B B B C C C d d
A B C B B b C C C F F
小丑卡:
3 张 Joker 卡中的任何一张都可以假装成任何一张卡来组成 Katte。因此下面所有的手牌都是Cat
A A B B B C C C d d X(X 假装是 A)
A A A B B B C C C d X(X 假装是 d)
X A A A B E F g X X ((X,X,X) 可以伪装成 (D, G, g) 或 (G, g, g) 或 其他)
问题:
一张 10 张牌的手牌,当且仅当它通过插入适当的牌成为 Cat。例如,A A B B B C C C d d 是具有至少 2 个A 和 d 的Cat。
如何通过从键盘输入从而输出所有符合答案的卡牌?(排列顺序按照字典自动排列,如果没有答案则输出null)