Tichu是一种纸牌游戏,其中玩家从包含52张标准纸牌的甲板上轮流玩几组纸牌,外加4张额外的纸牌:
- 的龙,它比任何其他卡更大的价值
- 的凤,其可以作为通配符作用
- 的狗,它通过转向你的合作伙伴
- 值1 的麻将(以及持有该值的人先打)
第一个玩家(据说具有“领先”)可以选择玩以下类型的卡组合之一:
- 一单个(例如
6
) - 一对(
JJ
) - 一个三重(
555
) - 一个完整的家(
QQQ33
) -三和一对 - 一个直的(
56789
) - 5或更多个连续的卡 - 一拖拉机(
223344
) -对任何连续序列
然后,仅允许随后的玩家玩一组相同类型但严格更高的纸牌。例如,QQ
可以在上播放JJ
,但QQKK
不能播放(它是拖拉机,而不是一对)。满屋是按三元组排序的(例如77722
> 44499
),直线和拖拉机的长度必须相同(456789
不能在上方播放23456
)。ace高。
有一个例外:同一张卡中的任何四张都是炸弹,并且可以在除高级炸弹之外的任何东西上玩。1个
巨龙可以自己在任何单人之上或带头(但无处可)玩。凤凰号除了可以用作通配符外,还可以在除龙以外的任何单个单张上播放。2狗只能自己带头玩,并立即结束回合。3
您面临的挑战是确定给定的Tichu剧本是否有效。
您可以接受任何形式的整数或字符串列表的两种播放方式-在任何一种情况下,您都可以选择纸牌到整数/字符的任何映射。如果有以前的播放,它将始终有效,如果没有,即玩家处于领先地位,则第一个输入将为空数组/字符串(与其他输入的类型匹配)。不保证以任何特定顺序提供卡。
您的输出必须从一组恰好两个不同的值中进行选择,其中一个值指示播放是合法的,而另一个值则指示不是合法的。
无需测试卡片组中是否确实存在这组卡(例如77766
,88877
由于只有四个7 ,因此不可能进行测试)-永远不会给出这种情况。
在以下测试案例中,234567890JQKA
代表2到ace,分别RPD1
代表龙,凤凰,狗和麻将。空字符串在此处显示为-
。这些戏剧是合法的:
6 J
JJ QQ
555 KKK
44499 77722
23456 56789
223344 QQKKAA
49494 72727
A R
A P
P R
66 7P
P6 77
58304967 6P0594J7
5P304967 680594J7
57446765 788657P5
- D
- 1
- 12345
3344556677889900 JJJJ
5555 7777
这些不是:
9 3
66 55
888 444
44 888
77722 44499
44499 777
44499 777JJJ
45678 34567
34567 456789
556677 334455
5566 778899
72727 49494
A A
R A
R P
77 RP
77 6P
P7 66
680594J7 5P304967
6P0594J7 58304967
57446765 3645P536
1 D
2 D
2 1
- 1234
7777 5555
- 223355
1:实际上,同花顺也是炸弹,但是由于这是游戏中唯一需要纸牌花色的地方,因此,为简单起见,我选择将其省略
2:在值n的纸牌上播放的凤凰的值实际上为n + 0.5(9上的凤凰为9半);由于这需要额外的历史知识来进行裁定,因此没有任何测试用例涉及在单个凤凰的基础上进行的单个演奏
3:所以第一个输入永远不会是狗
5555 777P
应该是无效的播放,但是两个当前答案都将其标记为有效。
777JJJ
,1234
,223355
)。但是,这RP
是无效的:“ 巨龙可以自己在任何单人的上面玩,也可以在主角上玩(但无其他地方)。 ”