increment of coins
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

背包有三种硬币,A 枚金币,B 枚银币, C 枚铜币。
在某一种硬币有100枚,之前重复以下操作:
随机从背包选一枚硬币。(每一个硬币被取到的概率相等。)然后放一枚一样的硬币进去。
请计算操作次数的期望值。

输入描述:

输入三个整数A,B,C
数据范围:

输出描述:

请输出操作次数的期望值。你的输出与正确答案的误差应该最多
示例1

输入

复制
99 99 99

输出

复制
1.000000000

说明

在第一次操作,选择任何1枚硬币,背包里都是100枚硬币。
示例2

输入

复制
98 99 99

输出

复制
1.331081081

说明

只有第1次操作选中金币的情况是2次操作,其它情况都是1次操作。因此操作次数的期望值是2 \times \frac{98}{98+99+99}+1 \times \frac{99}{98+99+99} +1 \times \frac{99}{98+99+99} = 1.331081081…
示例3

输入

复制
0 0 1

输出

复制
99.000000000

说明

每次操作都会增加一枚铜币。
示例4

输入

复制
31 41 59

输出

复制
91.835008202