problem

Battle for Wosneth Accepts: 1174 Submissions: 5432
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Problem Description
你在打游戏的时候碰到了如下问题:

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

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

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

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

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

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

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

Sample Input
2
4 100 100
1 50 50

Sample Output
1
499122177

Hint

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

第二组数据中,对应的分数为 1/2,在Alice命中Bob之前,Bob能期望命中Alice 1/2 次。

solution

#include<iostream>
using namespace std;typedef long long LL;
#define mod 998244353
#define maxn 200010LL power(LL a, LL b){LL ret = 1;for(; b; b>>=1,a=a*a%mod)if(b&1)ret=ret*a%mod;return ret;
}int main(){int T; cin>>T;int inv = power(100,mod-2);while(T--){int m,p,q; cin>>m>>p>>q;p = (LL)p*inv%mod;q = (LL)q*inv%mod;int ans = m-q*(m*power(p,mod-2)%mod+mod-1)%mod;cout<<((ans%mod+mod)%mod)<<"\n";}return 0;
}

2020 年百度之星·程序设计大赛 - 复赛 1001Battle for Wosneth相关推荐

  1. 2020 年百度之星·程序设计大赛 - 复赛 1002 Binary Addition

    problem Binary Addition Accepts: 851 Submissions: 3320 Time Limit: 2000/1000 MS (Java/Others) Memory ...

  2. [2020 年百度之星·程序设计大赛 - 复赛] Binary Addition

    题解 +1会把前面所有1变成0,第一个0变成1,也就是批量消除前缀1,显然他只会用一次, 枚举时机就好了 如果a[i]是0,次数为a[0 ~ i-1]中0的个数+b[0 ~ i-1]中1的个数+1(+ ...

  3. 2017百度之星程序设计大赛 - 复赛 01,03,05

    Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  4. php解:2006 年百度之星程序设计大赛复赛题目 4 ----彩球游戏

    2006 年百度之星程序设计大赛复赛题目 4 彩球游戏 X 博士是一个研究儿童智力开发方法的科学家,他为幼儿教育领域做出了许多贡献.最近, X 博士正在研究一种适合儿童的游戏,用以辅助发展儿童的观察力 ...

  5. 2020 年百度之星·程序设计大赛部分题解

    目录 Dec Covid Car Intersection Dec 2020 年百度之星·程序设计大赛 - 初赛一 HUD 6745  题解: 线性DP:f(i,j) 表示从i开始减,从j开始减时互质 ...

  6. 2020年百度之星·程序设计大赛-初赛一

    Pro.ID 1001 Drink 题解 1002 GPA 题解 1003 Dec 题解 1004 Civilization 1005 Rotate 题解 1006 Matrix 1007 Mosqu ...

  7. 2018“百度之星”程序设计大赛 - 复赛

    没有兄弟的舞会  Accepts: 928  Submissions: 2446  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6553 ...

  8. 2020 年百度之星·程序设计大赛 · 官方题解汇总

    1.测试赛 2.初赛一 留个备份,方便以后找 3.初赛二 4.初赛三 5.复赛

  9. 2021 年百度之星·程序设计大赛 - 复赛 1002 Add or Multiply 1(第2类斯特林数)

    problem solution 想到了是n个小球放到m个盒子里以后,剩下的就是板子了 #include<bits/stdc++.h> using namespace std; typed ...

最新文章

  1. vue 组件id重复问题
  2. 网络营销——优秀的网站优化公司都包含哪些助力网络营销的服务?
  3. lfsr算法c语言,求助:如何用C语言实现LFSR加密
  4. 数据在内存中的存储(二进制形式存储)
  5. python如何保存列表_python中数据的保存
  6. 品‮方牌‬可以利用视‮号频‬做什么
  7. NVM区数据备份机制
  8. Nodejs在Debian和Ubuntu上安装
  9. python 接口自动化 recharge_python接口自动化测试
  10. 计算机word虚线在哪里,在word中画虚线的五种方法
  11. 开发板运行可执行文件提示not found的问题
  12. embed预览pdf_09.html使用iframe、embed查看pdf不显示(未解决),使用pdf.js预览pdf
  13. APM直升机调试记录
  14. 大小口圆锥台计算机,2011年对口单招计算机试卷A04(18页)-原创力文档
  15. 原生js编写学生信息管理系统——添加学生信息
  16. Unity初学者Shader Graph教程
  17. 【阅读】数据之美,一本书学会可视化设计
  18. spring入门之Spring 常用的三种注入方式
  19. 非隔离开关电源相关知识理解汇总
  20. 16.JavaScript学习笔记——命名空间

热门文章

  1. 谷歌浏览器 —— 快捷键(vimium:像使用 vim 一样操作当前页面)
  2. 满纸辛酸泪 —— 红楼梦中话
  3. C++基础::string(三)
  4. 数学的记号(notation)
  5. springboot controller调用service_秀!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!...
  6. 在服务器上导出dmp文件,远程在服务器上导出dmp文件
  7. keil创建工程没有atmel_如何使用 KEIL 下载 HEX 文件?
  8. php object 对象不存在。增加对象_《相亲者女》:找一个匹配的对象,但永远不存在...
  9. 学python能做什么-学了Python都能干什么,哪个最赚钱?
  10. python画三维图-Python+matplotlib绘制三维图形5个精选案例