#30. 大师之剑

    ID: 30 Type: Default 1000ms 256MiB Tried: 209 Accepted: 1 Difficulty: 5 Uploaded By: Tags>搜索记忆化搜索动态规划其他数学dp

大师之剑

题目背景

为了阻止林克穿越迷失森林拿到大师之剑, 灾厄盖侬的追随者-依盖队派人提前找到了一条进入迷失森林的正确路线, 妄图夺走大师之剑, 这使得克洛格精灵不得不把大师之剑藏在其他地方。依盖队队长气急败坏, 他于是把所有的克洛格精灵都带回依盖队基地关了起来, 打算亲自挨个盘问大师之剑的下落。依盖队长十分狡猾, 如果林克进入了依盖队的地盘, 那么他会命令依盖队秘密地把所有克洛格精灵都转移到其他地方, 这样林克就很难找到他们了, 所以林克不能打草惊蛇。克洛格精灵中有一些胆小的精灵会如实回答, 告诉队长大师之剑的真正下落, 而另外一些会撒谎, 会告诉队长一个假的地点。为了更快知道大师之剑的下落, 队长会另外派遣一个依盖队员和他一起盘问。林克得知这件事, 于是决定假扮依盖队员参与盘问, 这样有几率先问到大师之剑的下落, 而一旦林克问先到大师之剑的下落, 他就会以某种方式立马转告给利特族战士特巴, 让他直接飞往大师之剑所在的地方。相反, 如果依盖队长先问到了正确地点那就丸辣!

题目描述

待盘问的克洛格中有xx只会如实回答大师之剑的下落, 有yy只会撒慌。林克和依盖队长会轮流在所有克洛格中随机抽取一只进行盘问,盘问完毕后将它放走,由林克先开始抽取盘问。依盖队长在提问的时候如果还有剩下的克洛格则剩下的中会有任意一只悄悄溜走不再回来。现在特巴心急如焚,他迫切地想要知道林克先问出大师之剑真正下落的概率。一只克洛格会告诉提问者大师之剑的真正下落当且仅当它被盘问时如实回答。

格式

输入

两行, 第一行输入一个整数t(1t10)t(1≤t≤10), 表示测试用例的数量。
第二行输入两个整数xxyy(0x,y1000x+y>0)(0≤x, y≤1000且x+y>0), 用空格隔开, 分别代表会如实回答的克洛格的数量和会撒谎的克洛格的数量.

输出

输出tt行, 每行一个浮点数, 表示林克先问出大师之剑真正下落的概率。如果你输出的答案和标准答案之间的误差小于10910^{-9}, 那么我们就认为你的答案是正确的。

测试样例

4
0 1
1 0
1 1
1 2
0.000000000
1.000000000
0.500000000
0.333333333

注意

其中一人在盘问时另一人不会知道盘问结果,每一只精灵被选中盘问的概率均等, 在队长盘问时其余的每一只克洛格溜走的概率均等,溜走的克洛格不会被盘问。被盘问过的克洛格就会被放走,不会被再次盘问。你不需要关心他们是如何知道克洛格是否撒谎的, 你只需要关心谁先问到不撒谎的。

样例解释

样例一共有四个:
对于第1个样例:由于没有会如实回答的克洛格, 所以谁都无法得知大师之剑的下落
对于第2个样例:只有一个如实回答的克洛格, 而林克先问,所以林克一定会先得知
对于第3个样例:只有两个克洛格, 1个如实回答另一个撒谎, 林克随机选择一个, 剩下的一定是队长选择的, 所以林克选到会如实交代的克洛格的概率为1/21/2
对于第4个样例:1个如实回答, 2个撒谎,林克在三只中任选一只, 而剩下的两只队长会选其中一只, 最后剩下的一只会跑掉, 所以等价于林克只有一次选择机会, 在3只中选择一只,则选到会如实交代的那一只的概率是1/31/3