关于概率的编程题(死战)
Programming question(death battle) on probability
在跨界奇幻世界中,houin kyoma 与强大的怪物 nomu 进行了一场战斗,可以一击杀死他。然而,作为一名杰出的科学家,kyoma 找到了一种将时间暂停 M 秒的方法。每秒,kyoma 都会以一定的力量攻击 nomu,这将减少他的健康点,该力量最初 nomu 有 H 健康点。 Nomu 在他的生命值达到 0 时死亡,通常 kyoma 会以 A 的力量进行普通攻击。除了 kyomas 的才华之外,运气在这个宇宙的事件中起着重要作用。 Kyoma luck L 被定义为执行超级攻击的概率。超级攻击将普通攻击的威力增加 C。根据此信息计算并打印 kyoma 杀死 nomu 并幸存的概率。如果 kyoma 死了打印 RIP。
输入格式
第一行是整数 T,表示测试用例数。
每个测试用例由单行组成,用 space 分隔数字 A H L1 L2 M C。其中 luck L 定义为 L1/L2。其他数都是,如上所述
输出
以 p1/p2 形式打印 kyoma 杀死 nomu 的概率,其中 p1<=p2 且 gcd(p1,p2)=1。如果不可能,打印不带引号的 RIP
例子
输入
1个
10 33 7 10 3 2
输出
98/125
概率是怎么得出98/125的?
你有 3 秒 ==> 3 次攻击。
怪物有 33 点生命值。
普通攻击造成10点伤害。
超级攻击造成12点伤害。
==> 为了杀死怪物,你需要在三次攻击中至少获得两次幸运。
超级攻击概率为7/10,标准攻击概率为3/10。
让我们检查变体:
如果第一次攻击不走运,那么其他 2 次攻击必须走运。
如果第一次攻击是幸运的,那么剩下的2个必须只有一个是幸运的。
==> 击杀怪物的概率 = 3/10*7/10*7/10+7/10*(3/10*7/10+7/10) = 98/125
在跨界奇幻世界中,houin kyoma 与强大的怪物 nomu 进行了一场战斗,可以一击杀死他。然而,作为一名杰出的科学家,kyoma 找到了一种将时间暂停 M 秒的方法。每秒,kyoma 都会以一定的力量攻击 nomu,这将减少他的健康点,该力量最初 nomu 有 H 健康点。 Nomu 在他的生命值达到 0 时死亡,通常 kyoma 会以 A 的力量进行普通攻击。除了 kyomas 的才华之外,运气在这个宇宙的事件中起着重要作用。 Kyoma luck L 被定义为执行超级攻击的概率。超级攻击将普通攻击的威力增加 C。根据此信息计算并打印 kyoma 杀死 nomu 并幸存的概率。如果 kyoma 死了打印 RIP。
输入格式 第一行是整数 T,表示测试用例数。 每个测试用例由单行组成,用 space 分隔数字 A H L1 L2 M C。其中 luck L 定义为 L1/L2。其他数都是,如上所述
输出 以 p1/p2 形式打印 kyoma 杀死 nomu 的概率,其中 p1<=p2 且 gcd(p1,p2)=1。如果不可能,打印不带引号的 RIP
例子 输入 1个 10 33 7 10 3 2 输出 98/125
概率是怎么得出98/125的?
你有 3 秒 ==> 3 次攻击。
怪物有 33 点生命值。
普通攻击造成10点伤害。
超级攻击造成12点伤害。
==> 为了杀死怪物,你需要在三次攻击中至少获得两次幸运。
超级攻击概率为7/10,标准攻击概率为3/10。
让我们检查变体: 如果第一次攻击不走运,那么其他 2 次攻击必须走运。 如果第一次攻击是幸运的,那么剩下的2个必须只有一个是幸运的。
==> 击杀怪物的概率 = 3/10*7/10*7/10+7/10*(3/10*7/10+7/10) = 98/125