#P8114. SPOJ KPGAME

SPOJ KPGAME

题目描述

Alice 和 Bob 玩下面的游戏。

首先,他们把 NN 颗小石子放在同一堆中。随后两人轮流掷硬币,Alice 先手。

每一回合:

  • 如果掷出正面(Heads),当前玩家恰好拿走一颗石子;
  • 如果掷出反面(Tails),当前玩家什么也不做。

拿走最后一颗石子的玩家获胜。

两人的掷硬币能力并不是完全随机的。

对于 Alice,如果她希望本次掷出某个指定的面,那么她以概率 PP 成功;也就是说,她每次可以选择自己希望掷出正面还是反面,然后以概率 PP 得到所选择的结果,以概率 1P1-P 得到另一面。

Bob 同理,他选择希望出现的某个面后,以概率 QQ 成功。

双方都知道彼此的能力,并且都会采用最优策略。

求 Alice 最终获胜的概率。

输入格式

第一行包含一个整数 TT,表示测试数据组数:

1T50.1\le T\le 50.

接下来 TT 行,每行包含三个数 N,P,QN,P,Q

1N99999999,1\le N\le 99999999, 0.5P,Q0.99999999.0.5\le P,Q\le 0.99999999.

P,QP,Q 的小数点后最多有 88 位数字。

输出格式

对于每组测试数据,输出一行,表示 Alice 获胜的概率。

答案误差不得超过 10610^{-6}

样例输入

1
1 0.5 0.5

样例输出

0.666666667