当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

6838:Battle for Wosneth

题目描述
你在打游戏的时候碰到了如下问题:

​  有两个人记作Alice和Bob,Bob的生命值为$m$,Alice的生命值很高,所以可以认为是无限的。两个人的攻击命中率分别为$p\%,q\%$。两个人轮流攻击对方。从Alice开始攻击,每次攻击的时候,如果Alice命中,那么能让对方的生命值减低$1$,同时自己的生命值能恢复$1$,如果Bob命中,那么能让对方的生命值减低$1$,注意Bob不会自己回血。

直到Bob的血量变为$0$,游戏结束。Alice想知道,游戏结束的时候,自己期望生命值变化是多少,对$998244353$取模。

注意这里的变化量不是绝对值,也就是如果$50\%$的概率加一,$50\%$的概率减一,那么期望的变化量就是$0$。

对于一个分数$a/b$,其中$\gcd(a,b)=1$,那么我们认为这个分数对$998244353$取模的值为一个数$c(0\leq c < 998244353)$满足$bc\equiv a \pmod {998244353}$。
输入解释
第一行一个正整数$T(1\leq T\leq 10^4)$表示数据组数。

对于每组数据,第一行三个整数$m, p, q(1\leq m \leq 10^9, 1\leq p,q\leq 100)$。

输出解释
每组测试数据,输出一个数,表示答案。

输入样例
2
4 100 100
1 50 50
输出样例
1
499122177

提示
第一组数据中,每次都能命中,所以Alice能恢复 4 点生命值,减低 3 点生命值,变化量必定为 1。

第二组数据中,对应的分数为 1/2,在Alice命中Bob之前,Bob能期望命中Alice 1/2 次。
来自杭电HDUOJ的附加信息
Recommend heyang

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-6838

最后修改于 2020-10-25T23:34:49+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
2000/1000MS(Java/Others) 65536/65536K(Java/Others)