luogu#P8702. [蓝桥杯 2019 国 B] 燃烧权杖(暂无正解)
[蓝桥杯 2019 国 B] 燃烧权杖(暂无正解)
题目背景
目前上传了 的数据点。
后 的数据点输出 即可通过。
题目描述
小 C 最近迷上了一款游戏。现在,在游戏中,小 C 有一个英雄,生命值为 ;敌人也有一个英雄,生命值为 。除此以外,还有 个士兵,生命值分别为 。现在小 C 打算使用一个叫做“燃烧权杖”的技能。
“燃烧权杖”会每次等概率随机选择一个活着的角色(英雄或士兵),扣减其 点生命值,然后如果该角色的生命值小于或等于 ,则该角色死亡,不会再被“燃烧权杖”选中。“燃烧权杖”会重复做上述操作,直至任意一名英雄死亡。小 C 想知道使用“燃烧权杖”后敌方英雄死亡(即,小 C 的英雄存活)的概率。为了避免精度误差,你只需要输出答案模一个质数 的结果,具体见输出格式。
输入格式
输入包含多组数据。
输入第一行包含一个正整数 ,表示数据组数。
接下来 组,每组数据第一行包含四个非负整数 、、、,分别表示小 C 的英雄的生命值、敌方英雄的生命值,模数和士兵个数。
第二行包含 个正整数 ,分别表示每个士兵的生命值。
输出格式
对于每组数据,输出一行一个非负整数,表示答案模质数 p 的余数。 可以证明,答案一定为有理数。设答案为 ( 和 为互质的正整数),你输出的数为 ,则你需要保证 与 模 同余;也即,,其中 表示 模 的逆元。
6
1 10 101 0
100 1 101 0
50 30 4903 2
1 1
987 654 233 1
321
1000000000 999999999 233 3
1 2 3
1000000000 999999999 3 3
1 2 3
51
37
1035
118
117
2
提示
【样例说明】 对于第一组数据,所求概率即为“燃烧权杖”第一次就扣减敌方英雄 点生命值的概率,即 。 模 余 。
对于第二组数据,答案为 , 与 模 同余。
对于第三组数据,答案为 。
【评测用例规模与约定】
对于 的评测用例,。
对于 的评测用例,。
对于 的评测用例,。
对于全部评测用例,, 且 为质数,。
蓝桥杯 2019 年国赛 B 组 J 题。