骰宝赌博中,所开出三粒骰仔的点数都是相同,大小通杀:指开围骰,除了买中围骰外其余所有投注都杀。而 Serein 对围骰很感兴趣,连忙跟 Ustinian 分享了这个,了解了围骰规则后,她提出了另一种玩法。
注意题目描述的规则可能与一般的围骰游戏有所区别,请以题目为准。
围骰游戏有 n 个人参与,每人有 5 枚 6 面骰子。
初始时,每个人随机打乱自己的骰子(摇骰子)。
特别的,围骰之神会在暗中保证:对于每个人的 5 枚打乱后的骰子,不会出现 5 枚骰子的点数从小到大排序后为 (2,3,4,5,6) 的情况。之后每个人仅知道自己的骰子点数。
- 若当前规则为“斋”,对点数 x(1≤x≤6),一个玩家的点数 x 的总数目 numx 为自己的点数为 x 的骰子数目;
- 若当前规则为“飞”,对点数 x(1≤x≤6),一个玩家的点数 x 的总数目 numx 为自己的点数为 x 或 1 的骰子数目。
- 特别地,若自己的 5 枚骰子点数一样(在“飞”规则下,即只出现 x 和 1 两种),则 numx 额外加一。
例如,斋时,num2(1,1,2,2,2)=3,num2(2,2,2,2,2)=6 ;飞时, num2(1,2,3,4,5)=2,num2(1,1,2,2,2)=6,num2(1,1,1,1,1)=6 。
定义全场的 x 的数目 totx 为各玩家的 numx 之和。
玩家围成一圈并顺时针叫数,断言在斋或飞下,当前 totx 至少是多少。他的下一个玩家如果质疑该断言,则开骰,公开所有人的骰子并统计,若断言正确,下一个玩家负;否则胜。若不质疑,则继续断言。
现给定玩家数 n,上一个玩家断言的规则、x 、总数 totx,以及当前自己的骰子情况,请你计算有多大的概率上一个玩家的断言是正确的。
输入一行一个整数 t(1≤t≤103),代表询问数。
接下来输入一行四个整数 n,r,x,totx(2≤n≤5,1≤r≤2,1≤x≤6,0≤totx≤6n)。若 r=1 代表斋,否则代表飞。
接下来输入一行五个整数,第 i 个整数 ai(1≤ai≤6) 代表你持有的第 i 个骰子的点数。保证从小到大排序后 a≠(2,3,4,5,6)。
对第一、第二个询问,由于自己的 num2=6,则不管其他人的点数如何,都必然总数不少于 6。
对第三个询问,自己 num4=0,对方 num4=4 的所有情况 (4,4,4,4,d),d≠4,共有 5×5=25 种;num4=5 不存在,num4=6 只有一种情况。总方案数为 65−5!=7656,gcd(7656,25+1)=2,故答案为 382813。
对第四个询问,当且仅当一个玩家 num4=6(只有一种情况)且另一个玩家 num4=4 时能够凑够 10,情况数为 2×25×1=50 种;且不可能凑到 11,凑到 12 只有两个玩家都 num4=6,仅有一种情况。总方案数为 76562。gcd(50+1,76562)=3,答案为 76562÷317。