#20. 翻转硬币

翻转硬币

翻转硬币

背景

H.让你陪他玩一个游戏。

题目描述

H.有三盒硬币,一开始所有的硬币都是正面朝上,但是他会选择其中的一些硬币翻转,使得它们反面朝上。

你并不知道是哪些盒子里的哪些硬币反面朝上,但是幸运的是你偷偷看到了三个盒子里一共有k枚硬币是反面朝上的。

现在他要你从中选出k枚硬币并翻转放在桌面上,使得这k枚被翻转过的桌面上的硬币中反面朝上的数量等于所有三个盒子里剩下的硬币中反面朝上的数量。 如果相等,你就赢了,否则他就赢了,请问在你和他都采取最优策略的情况下,你赢得游戏的概率p是多少?

注意,因为你并不知道哪些硬币是反面朝上,因此你从三个盒子中选的k枚硬币都是随机的,每一枚都有可能朝上或朝下,你无法决定。

输入

第一行三个整数a, b, c(0 ≤ a, b, c ≤ 100, a + b + c > 1),分别代表三个盒子里的硬币数。

第二行一个数字k(0 < k < a + b + c),代表H.选择翻转的硬币的数量。

输出

一行一个数字p(结果保留两位小数).

样例

1 1 0
1
1.00

样例解释

对于样例1,a盒子和b盒子里各有一枚硬币。而H.选择翻转1枚硬币。

①如果H.选择翻转a盒子里那一枚,则a中硬币反面朝上,b中硬币正面朝上。那么轮到你时,你如果选择拿出a盒子里的硬币并翻转放于桌上,则桌上硬币正面朝上,盒子中硬币只剩下b盒中的硬币,正面朝上。那么桌面上反面朝上的硬币数量为0,盒中也为0,相等,那么你赢;如果你选择拿出b盒中的硬币并翻转,最终盒中反面朝上=桌面反面朝上=1,还是你赢。

②如果H.选择b盒那一枚翻转,则与情况一相同(只有两枚硬币,选哪一个都是一样的),还是你一定赢。 故最后你赢得的概率是1.00。