题解
Alice打一次加1,概率p%,Bod打一次加1概率q%
他们打一轮,期望得分p%-q%,有几轮哪?
每轮Bod期望掉血p%,所以有m/(p%)轮,注意最后一轮Bod先挂了,没法反击
所以答案是(m/(p%) - 1) * (p%-q%) + 1 * p%
注意m/(p%)不一定是整数,变换一下
(m-p * inv(100)) * (p-q) * inv ( p ) + p * inv(100)
其中inv(i)是mod998244353LL的乘法逆元
代码
#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
void exgcd(ll a, ll b, ll &x, ll &y) //拓展欧几里得算法
{
if(!b)
x = 1