定义f[i][j]为玩家A使用前i个生成器,总和为j的概率
其中,初始化状态f[0][0]=1.0
状态转移方程为f[i][j]=∑k=1a[i]f[i−1][j−k]
分别计算两个玩家使用前i个生成器总和为j的概率,分别记为f[i][j1],g[i][j2]
两名玩家 A 和 B 进行一场数字对决。玩家 A 拥有 n 个独立的随机整数生成器,第 i 个生成器会等概率地产生 1 到 ai 之间的整数。玩家 B 拥有 m 个独立的随机整数生成器,第 j 个生成器会等概率地产生 1 到 bj 之间的整数。两人同时让各自所有的生成器产生数值,并分别求总和。若玩家 A 的总和严格大于玩家 B 的总和,则玩家 A 获胜;否则 A 不获胜(平局或落败均不算获胜)。假设所有生成器均相互独立,请计算玩家 A 获胜的概率。
数据范围:n 和 m 均为正整数,满足 1≤n,m≤20。每个生成器的上限 ai 和 bj 均为整数,且满足 2≤ai,bj≤8。
输入共三行。 第一行包含两个整数 n 和 m,分别表示玩家 A 和玩家 B 的生成器数量。 第二行包含 n 个整数 a1,a2,…,an,依次表示玩家 A 各个生成器的上限。 第三行包含 m 个整数 b1,b2,…,bm,依次表示玩家 B 各个生成器的上限。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册