背景
Badugi [bæduːɡiː]是低球平局扑克变种。
Pokerstars世界杯在线扑克$ 1K赛事在3小时内开始,我需要知道我的手牌有多好!
该游戏使用52张标准卡组,其中包含四张西服和13张等级。西服是无序的,应加标签cdhs
; 从最高K
到最低的等级A
是KQJT98765432A
。因此,整个甲板可以表示如下(以空格分隔):
Kc Kd Kh Ks Qc Qd Qh Qs Jc Jd Jh Js Tc Td Th Ts 9c 9d 9h 9s 8c 8d 8h 8s 7c 7d 7h 7s 6c 6d 6h 6s 5c 5d 5h 5s 4c 4d 4h 4s 3c 3d 3h 3s 2c 2d 2h 2s Ac Ad Ah As
每位玩家从牌组中获得四张纸牌,中间进行四次下注回合,其中四次下注回合(一位玩家始终拥有四张纸牌,他们可以选择将0-4张纸牌更换为每张庄家的新纸牌三个回合中的一个)。
如果在所有这些回合之后仍然有多个玩家处于活跃状态,则将出现对决,然后最强的手赢得下注赌注。
这场比赛是低球比赛,因此最低手数获胜,并且如上所述 A
(ace)低。此外,手牌等级不同于其他形式的扑克,对于初学者而言可能有些混乱。
所打出的“手牌”是由尽可能多的“副手”(全副牌)和“副手”(全异手)牌(从四张持牌中)组成的最低等级组合)。也就是说:如果一个人拥有四张同时具有不同花色和等级的卡,则有人拥有四张手(称为“ badugi”);如果一个人没有四张牌,但是确实有一组或三组,每张牌都有不同的花色和不同的等级,那么一个人有三张牌(最好选择一张);如果一个人既没有四手牌,也没有三手牌,则可能有两手牌,但如果没有,则只有一手牌。
这样,最好的一手牌是4张牌
4-3-2-A
- 四种不同套装中等级最低的副牌,通常被称为“数字1”。最弱的一手牌可能是1张牌,只有完全握住才有可能。K
Kc Kd Kh Ks
请注意,
4c 3h 2c As
是不是一个“1列”,因为4c
和2c
是相同花色的,但它是最强的3卡手,3-2-A
,它借鉴与其他3-2-1
S(像Kh 3d 2s Ah
),并击败了所有其他的3张牌,但是输给所有4张牌(可能像一样弱K-Q-J-T
)。- 可以使用的另一张可能的三张牌
4c 3h 2c As
是4-3-A
,但是较弱(较高),所以未选择。
- 可以使用的另一张可能的三张牌
类似地,三张
8d 6h 3s 2h
牌的游戏方式为8-3-2
-有两个大小为3的等级不合8-3-2
常规组合,并且比8-6-3
三个更好(更小),因为三个(或“宝藏”)低于六个。
相互比较手遵循相同的逻辑-任何4张牌胜过任何3张牌,任何3张牌胜过任何2张牌,任何2张牌胜过任何1张牌,而使用相同张数的手牌则是从他们的最高级别下降到最低进行比较(例如:8-4-2
心跳8-5-A
,但没有任何的8-4-A
,8-3-2
或7-6-5
)
挑战:
给定四张卡中的每张,有两个无序集合,找出赢得Badugi摊牌的那张(如果是平局,则同时识别两张)。
输入可以是任何合理的:
- 如上标记的所有八张卡的单个字符串(带或不带空格),左四只手为一只手,右手另一只手(具有可选的分隔符);或以相同方式列出的字符
- 两个字符串的列表-每只手一个,或相同方式的字符列表
- 两个单独的字符串或列表输入,每只手一个
- 手中的牌可能也已经分开了(所以列表列表很好)
但是请注意:
- 在输入之前,卡片可能没有按照任何顺序排列
- ...并且西服和军衔被固定为此处指定的字符标签-如果您的语言不支持这种结构,请提出合理的建议,并在您的语言限制下询问是否可以接受。
输出应该是
- 格式与输入或其打印的表示相同;要么
- 是三个不同的和一致的结果的一个(例如:
"left"
,"right"
,"both"
,或1
,2
,3
等等)
确实-只要可以清楚识别出两个输入中的哪个,就可以了。
测试用例
input -> output
(notes)
----------------------------------------------------------------------------
3c 2s 4d Ah - As 3h 2d 4h -> 3c 2s 4d Ah
(4-card 4-3-2-A beats 3-card 3-2-A)
3c 2s 4d Ah - As 2c 3d 4h -> 3c 2s 4d Ah - As 2c 3d 4h
(4-card 4-3-2-A draws with 4-card 4-3-2-A)
2d Ac 4h 3c - Kh Ad 9s 2c -> Kh Ad 9s 2c
(3-card 4-2-A loses to 4-card K-9-2-A)
Kc Tc Qc Jc - Ac Ad Ah As -> Ac Ad Ah As
(1-card T loses to 1-card A)
9c 9h Qc Qh - Qs Kh Jh Kd -> Qs Kh Jh Kd
(2-card Q-9 loses to 3-card K-Q-J)
2d 5h 7c 5s - 2h 3c 8d 6c -> 2d 5h 7c 5s
(3-card 7-5-2 beats 3-card 8-3-2)
3s 6c 2d Js - 6h Jd 3c 2s -> 6h Jd 3c 2s
(3-card 6-3-2 loses to 4-card J-6-3-2)
Ah 6d 4d Ac - 3h 2c 3s 2s -> 3h 2c 3s 2s
(2-card 4-A loses to 2-card 3-2)
2h 8h 6h 4h - 6d 2d 5d 8d -> 2h 8h 6h 4h - 6d 2d 5d 8d
(1-card 2 = 1-card 2)
这是 代码高尔夫球,因此以语言为单位的最短代码以每种语言获胜,而总体上最短的代码以获胜。不要让打高尔夫球的语言让您推迟使用其他语言提交的内容,并且……玩得开心!
O
到前面。
[['3c', '2s', '4d', 'Ah'], ['As', '3h', '2d', '4h']]
合理的吗?