luogu#P4010. [CTSC2012] 梭哈游戏
[CTSC2012] 梭哈游戏
题目描述
小 Y 和小 Z 最近迷上了一种叫梭哈的扑克游戏。梭哈又称沙蟹,是英文 Show Hand 的音译,是一种使用黑桃、红心、梅花、方片的 A 到 K 共 张牌(没有大小王)来进行的扑克牌游戏。
和其他扑克游戏一样,梭哈的目的是得到最大的牌型并赢得牌局:每名玩家首先需要下基本的注额,之后将获得一张底牌,这张牌只有自己知道。普通梭哈游戏的规则是,在发完底牌后的第一轮时,每个玩家都将得到一张明牌(明牌是摆在台面上的,所有人都能看见),拥有最大明牌的玩家首先发言,他可以下注、不下注(让牌)或盖牌(放弃)也可以全压(梭哈),其他玩家可以跟注(有玩家全压时必须全压)、加注或盖牌(放弃),放弃的玩家将无法继续游戏,并且之
前押的筹码无法取回。而全压之后将直接把每个人的手牌补充至 张进行最后的判定;第二圈、第三圈和第四圈的进程与第一圈是类似的。最后,每位玩家要比牌型的大小以确定赢家。牌最大的玩家赢得牌局。
所有五张牌的组合,按以下秩序, 由大至小 排行分为不同牌型:
1、同花顺(Straight Flush
):同一花色,顺序的牌。 例: ;
2、四条(Four of a Kind
):有四张同一点数的牌。 例: ;
3、满堂红(Full House
):三张同一点数的牌,加一对其他点数的牌。 例: ;
4、同花(Flush
):五张同一花色的牌。 例: ;
5、顺子(Straight
):五张顺连的牌。 例: ;
6、三条(Three of a kind
):有三张同一点数的牌。 例: ;
7、两对(Two Pairs
):两张相同点数的牌,加另外两张相同点数的牌。 例: ;
8、一对(One Pair
):两张相同点数的牌。 例: ;
9、无对(Zilch
):不能排成以上组合的牌,以点数决定大小。例: 。
若牌型一样则 利用 点数 和花色决定胜负 。(点数 优先)
点数 的顺序( 从 大至小) 为:。(注:当 张手牌是 的时候, 可以看作最小的牌,此时的牌型仍然为顺子,是顺子里面最小的一个)。
花色的顺序(大至小) 为:黑桃(♠)红心(♥)梅花(♣)方块(♦)。
举例说明:
1、 (前者牌型为同花顺,比后者大);
2、 (两者牌型均为满堂红,比较牌型中三张同一点数的牌 比 大);
3、 (两者牌型均为两对,且最大的对子相同,此时比较次大的对子, 比 大);
4、 (两者牌型均为无对,所有数码均相同,此时比较最大牌的花色, > )。
5、 (两者牌型均为一对,所有数码均相同,此时对 4 为牌型里最大的部分,因此比较 )
在小 Y 和小 Z 玩梭哈的过程中,小 Y 总希望能够实时了解目前的形势,即根据自己手上的牌算出自己的胜率。但是他的编程能力有限,你能帮他完成这个任务么?
输入格式
第一行包含 个正整数 ,表示小 Y 自己手上牌的数量。
接下来 行每行用两个整数描述一张小 Y 手上的牌:第一个数表示牌的数码( 表示 , 表示 , 表示 , 表示 ),第二个数表示牌的花色( 表示黑桃, 表示红心, 表示梅花, 表示方块)。
接下来 行每行用两个整数描述一张小 Z 手上的明牌:第一个数表示牌的数码( 表示 , 表示 , 表示 , 表示 ),第二个数表示牌的花色( 表示黑桃, 表示红心, 表示梅花, 表示方块)。
输出格式
输出仅包含一行,格式为 A/B
形式。, 为两个互质的自然数,A/B
表示了小 Y 当前局面下的获胜可能性。特别的,若 为 ,则应输出 0/1
。
5
2 1
2 2
2 3
2 4
3 1
1 1
1 2
1 3
3 2
42/43
提示
【样例说明】
小 Y 手上牌的型是 条,小 Z 若底牌是方块 则也能构成 条,并通过数码大获胜 。其他情况下都是小 Y 获胜。
【数据规模和约定】
对于 的数据,;
对于 的数据,;
对于 的数据,。