#60677. 蒜头君的牌局
蒜头君的牌局
暂无测试数据。
“现在,各位观众,全体起立!”
“给阿姨倒一杯卡布奇诺,开始你的炸弹秀。”
“$17$ 张牌,你能秒我?你今天要是能 $17$ 张牌把我秒了,我当场就把这个电脑屏幕吃掉!”
慈善家陆奔伟的名言不绝于耳,蒜头君今天也来做慈善。
扑克牌用一对数据 $(a,b)$ 表示,其中 $a$ 表示花色,扑克牌有四种花色,分别为红桃、黑桃、方块、梅花,分别用四种字符串表示,如表格所示:
花色 | 字符串 |
---|---|
红桃 | rt |
黑桃 | bt |
方块 | fk |
梅花 | mh |
$b$ 表示数值,从小到大分别为 $3,4,5,6,7,8,9,10,J,Q,K,A,2$,每种牌在一副牌中最多只有四张。(不包含大小王)
不同的牌组合在一起会形成不同的牌型:
- 1:四张牌数值相同,则可以形成炸弹。(不论花色)
- 2:存在数值连续的两个数值,且都有三张或三张以上的数值相同的牌,此为飞机主体(比如 $333,444$,但是 $2$ 不参与,例如 $AAA,222$不行。);若牌中存在除了前面 $6$ 张牌,还存在两种数值相同(不需要连续)且各自的数量均大于等于 $2$ 的牌,则形成飞机带两对,例如 $333,444,55,66$;如果牌中不存在除了最开始的 $6$ 张牌之外的两种数值相同且各自数量大于 $2$ 的牌,且牌总量大于 $8$ 张,则形成飞机带翅膀,例如 $333,444,5,6$。(不论花色)
- 3:三张牌数值相同;若牌中存在,除了这三张牌之外,数值相同的且数量大于等于 $2$ 的牌,则形成三带二;如果牌中不存在一对相同的数值,且共有大于等于 $4$ 张的牌,则形成三带一。(不论花色)
- 4:若存在三种或三种以上数值连续且数量都大于等于 $2$ 的数值相同的牌时,则形成连对。(不论花色,但是 $2$ 不参与连对的形成,例如 $KKAA22$ 不为连对,但是 $JJKKQQ$ 为连对。)
- 5:若存在数值连续,数量大于等于 $5$ 的牌,且花色相同,则形成同花顺,但是 $2$ 不参与同花顺的形成,例如 $rtJ,rtQ,rtK,rtA,rt2$ 不为同花顺,但是 $rt10,rtJ,rtQ,rtK,rtA$ 为同花顺。
- 6:若存在数值连续,且数量大于等于 $5$ 的牌,不论花色,则形成顺子。但是 $2$ 不参与顺子的形成,如同花顺例。(不论花色)
再次提醒:$2$ 不参与飞机主体、连对、同花顺、顺子。
可是蒜头君从来都不会打扑克,现在蒜头君有十张牌,你可以帮他分析一下他的牌型是什么吗?
如果牌中存在炸弹,则输出 Boom!
。(存在炸弹则必存在三带一或三带二,或者存在飞机,此时只需要输出炸弹。)
如果牌中存在飞机带两对,则输出 Plant2!
,如果牌中存在存在飞机翅膀,则输出 Plant1!
。 如果牌中存在飞机带两对,此时一定有飞机带翅膀,此时只需要输出飞机带两对。(存在飞机则可能出现连对,此时只需要输出飞机。)
如果牌中存在三带二,则输出 tkt!
;如果牌中存在三带一,则输出 tko!
。
如果牌中存在连对,则输出 CPair!
。
如果牌中存在同花顺,则输出 straight!
。(存在同花顺则必然存在顺子,此时只需要输出同花顺。)
如果牌中存在顺子,则输出 Flush!
。
如果牌中都不存在这些牌型,则输出 Null!
。
考虑的优先级如下图所示:
输入格式
输入十个字符串,中间用空格隔开,表示十张扑克牌,每个字符串长度为 $3$ 或 $4$,其中前两个字符表示牌的花色,接下来的字符表示牌的数值。
输出格式
输出一个字符串,表示牌型。
数据规模
输入十个字符串。
数据保证每种数值相同的牌花色皆不同,且最多四张。
rt3 rt4 rt5 rt6 rt7 mhK fkQ bt5 rtA bt2
straight!
rt3 rt4 rt5 rt6 rt7 mh3 fk3 bt3 rtA bt2
Boom!