F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Battle for Wosneth2

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 138    Accepted Submission(s): 62


Problem Description
你在打游戏的时候碰到了如下问题:

​  有两个人记作Alice和Bob,生命值分别是$n,m$,命中率分别为$p\%,q\%$。两个人轮流攻击对方,从Alice开始攻击,每次攻击的时候,如果命中,那么能让对方的生命值减低$1$,直到一方的生命值不超过$0$为止。

求到最后Alice的生命值大于$0$的概率,对$998244353$取模。

对于一个分数$a/b$,其中$\gcd(a,b)=1$,那么我们认为这个分数对$998244353$取模的值为一个数$c(0\leq c < 998244353)$满足$bc\equiv a \pmod {998244353}$。
 

Input
第一行一个正整数$T(1\leq T\leq 10^4)$表示数据组数。

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

保证$\sum (n+m) \leq 5\times 10^6$。
 

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

Sample Input
3 1 1 50 50 100000 1 99 100 11 45 14 19
 

Sample Output
665496236 713582462 419834392
 

Hint

第一组数据,Alice活下来的概率为2/3。

第二组数据,当且仅当Alice前100000轮全部没有命中,Alice会死亡,所以存活概率为1-0.01<sup>100000</sup> 。
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-24 21:11:01, Gzip enabled