2020 年百度之星·程序设计大赛 - 复赛 1001Battle for Wosneth
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相关推荐
- 2020 年百度之星·程序设计大赛 - 复赛 1002 Binary Addition
problem Binary Addition Accepts: 851 Submissions: 3320 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- [2020 年百度之星·程序设计大赛 - 复赛] Binary Addition
题解 +1会把前面所有1变成0,第一个0变成1,也就是批量消除前缀1,显然他只会用一次, 枚举时机就好了 如果a[i]是0,次数为a[0 ~ i-1]中0的个数+b[0 ~ i-1]中1的个数+1(+ ...
- 2017百度之星程序设计大赛 - 复赛 01,03,05
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- php解:2006 年百度之星程序设计大赛复赛题目 4 ----彩球游戏
2006 年百度之星程序设计大赛复赛题目 4 彩球游戏 X 博士是一个研究儿童智力开发方法的科学家,他为幼儿教育领域做出了许多贡献.最近, X 博士正在研究一种适合儿童的游戏,用以辅助发展儿童的观察力 ...
- 2020 年百度之星·程序设计大赛部分题解
目录 Dec Covid Car Intersection Dec 2020 年百度之星·程序设计大赛 - 初赛一 HUD 6745 题解: 线性DP:f(i,j) 表示从i开始减,从j开始减时互质 ...
- 2020年百度之星·程序设计大赛-初赛一
Pro.ID 1001 Drink 题解 1002 GPA 题解 1003 Dec 题解 1004 Civilization 1005 Rotate 题解 1006 Matrix 1007 Mosqu ...
- 2018“百度之星”程序设计大赛 - 复赛
没有兄弟的舞会 Accepts: 928 Submissions: 2446 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6553 ...
- 2020 年百度之星·程序设计大赛 · 官方题解汇总
1.测试赛 2.初赛一 留个备份,方便以后找 3.初赛二 4.初赛三 5.复赛
- 2021 年百度之星·程序设计大赛 - 复赛 1002 Add or Multiply 1(第2类斯特林数)
problem solution 想到了是n个小球放到m个盒子里以后,剩下的就是板子了 #include<bits/stdc++.h> using namespace std; typed ...
最新文章
- vue 组件id重复问题
- 网络营销——优秀的网站优化公司都包含哪些助力网络营销的服务?
- lfsr算法c语言,求助:如何用C语言实现LFSR加密
- 数据在内存中的存储(二进制形式存储)
- python如何保存列表_python中数据的保存
- 品方牌可以利用视号频做什么
- NVM区数据备份机制
- Nodejs在Debian和Ubuntu上安装
- python 接口自动化 recharge_python接口自动化测试
- 计算机word虚线在哪里,在word中画虚线的五种方法
- 开发板运行可执行文件提示not found的问题
- embed预览pdf_09.html使用iframe、embed查看pdf不显示(未解决),使用pdf.js预览pdf
- APM直升机调试记录
- 大小口圆锥台计算机,2011年对口单招计算机试卷A04(18页)-原创力文档
- 原生js编写学生信息管理系统——添加学生信息
- Unity初学者Shader Graph教程
- 【阅读】数据之美,一本书学会可视化设计
- spring入门之Spring 常用的三种注入方式
- 非隔离开关电源相关知识理解汇总
- 16.JavaScript学习笔记——命名空间
热门文章
- 谷歌浏览器 —— 快捷键(vimium:像使用 vim 一样操作当前页面)
- 满纸辛酸泪 —— 红楼梦中话
- C++基础::string(三)
- 数学的记号(notation)
- springboot controller调用service_秀!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!...
- 在服务器上导出dmp文件,远程在服务器上导出dmp文件
- keil创建工程没有atmel_如何使用 KEIL 下载 HEX 文件?
- php object 对象不存在。增加对象_《相亲者女》:找一个匹配的对象,但永远不存在...
- 学python能做什么-学了Python都能干什么,哪个最赚钱?
- python画三维图-Python+matplotlib绘制三维图形5个精选案例