在游戏论坛上,总有一群人抱怨他们一直在输。他们总是把原因归咎于游戏本身,比如缺乏真实感或 AI 作弊。遗憾的是,这通常只是因为技术不行。对于我们其他人来说,向他们证明他们错了,成了一项永无止境的任务!
这一系列争论中最新的话题是,有人声称他在玩的新游戏中电脑作弊。尽管游戏显示一场战斗的获胜概率为 $70\%$,但他还是输了!他很快就被我们这群“万事通”反驳了,但另一个人又跳出来支持他。尽管在这样的概率下输掉一场战斗是有可能的,但他观察到了连续 $5$ 场失败!这种情况的概率是 $(1 - 0.7)^5 = 0.00243$。他声称这概率太低,不可能发生!作为一名光荣的“万事通”,你解释说,如果这 $5$ 场战斗是仅有的事件,那么这种说法或许成立,但在整个游戏过程中,战斗次数远不止这些。观察到这种连败的概率要大得多!为了支持你的观点,你决定计算这些概率。
一场战斗有两种结果:赢或输。获胜的概率为 $p$。假设你模拟了 $N$ 场战斗,那么出现至少 $L$ 场连败的概率是多少?
输入格式
输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例包含一行,包含三个数字 $N$、$L$ 和 $p$,以空格分隔。
输出格式
对于每个测试用例,输出一行,包含一个浮点数,表示出现至少 $L$ 场连败的概率。
数据范围
- $0 < T \le 200$
- $0 \le p \le 1.0$
- $0 < N \le 2000$
- $0 < L \le N$
- 所讨论的游戏是《文明 IV》。你可以假设该游戏拥有完美的随机数生成器,且所有战斗结果都是相互独立的。
- 允许与正确答案有最多 $10^{-7}$ 的绝对或相对误差。
样例
输入 1
2 5 5 0.7 10 5 0.7
输出 1
0.00243 0.010935
Figure 1. A comic illustrating the 'someone is wrong on the internet' phenomenon.