#P5249. [LnOI2019] 加特林轮盘赌

[LnOI2019] 加特林轮盘赌

题目背景

加特林轮盘赌是一个养生游戏.

题目描述

与俄罗斯轮盘赌等手枪的赌博不同的是,加特林轮盘赌的赌具是加特林。

加特林轮盘赌的规则很简单:在加特林的部分弹夹中填充子弹。游戏的参加者坐在一个圆桌上,轮流把加特林对着自己的头,扣动扳机一秒钟。中枪的自动退出,坚持到最后的就是胜利者。

我们使用的是2019年最新技术的加特林,他的特点是无需预热、子弹无限,每一个人,在每一回合,中枪的概率是完全相同的P0P_0

每局游戏共有nn只长脖子鹿,从1长脖子鹿开始,按照编号顺序从小到大进行游戏,绕着圆桌不断循环。

游戏可能会循环进行多轮,直到场上仅剩下最后一只长脖子鹿时,游戏结束。

给出P0P_0nn,询问kk号长脖子鹿最终成为唯一幸存者的概率PkP_k

输入格式

仅一行三个数,P0,n,kP_0,n,k.

输出格式

一个浮点数PkP_{k} ,误差应该小于10810^{-8}.(请保留更多位数的小数)

0.5 2 1
0.33333333
0.5 2 2
0.66666667
0.5 3 1
0.23809524
0.5 3 2
0.28571429

提示

对于10%的数据,n<=100n <= 100.

对于30%的数据,n<=500n <= 500.

对于另外20%的数据,k=nk = n.

对于100%的数据,1<=k<=n<=104,0<=P0<=1.1 <= k <= n <= 10^{4}, 0 <= P_0 <= 1.

所有数据的时间限制为1000ms 1000ms ,空间限制为256mb 256mb ,可开启O2优化。