atcoder#ABC184D. [ABC184D] increment of coins

[ABC184D] increment of coins

题目描述

袋の中に金貨が A A 枚、銀貨が B B 枚、銅貨が C C 枚入っています。

袋の中にあるいずれかの種類の硬貨が 100 100 枚になるまで以下の操作を繰り返します。

操作:袋の中から硬貨をランダムに 1 1 枚取り出す。(どの硬貨も等確率で選ばれる。) 取り出した硬貨と同じ種類の硬貨を 2 2 枚袋に戻す。

操作回数の期待値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

A A B B C C

输出格式

操作回数の期待値を出力せよ。正しい値との絶対誤差または相対誤差が 106 10^{-6} 以下であれば正解とみなされる。

题目大意

题目描述

袋子里原本有金币 A A 枚、银币 B B 枚、铜币 C C 枚。

直到袋子中有一种硬币达到 100100 枚之前,都会进行以下操作。

操作:每秒钟都有 11 枚硬币被等概率地取出,然后向袋子中放入两枚相同的硬币。

求出操作次数的数学期望。

输入格式

输入为一行三个整数

A A B B C C

输出格式

一行一个浮点数,为操作次数的数学期望。若与标准答案的误差不超过 106 10^{-6} ,则视为正确答案

说明/提示

【数据范围】

  • 0  A,B,C  99 0\ \leq\ A,B,C\ \leq\ 99
  • A+B+C  1 A+B+C\ \geq\ 1

【样例解释1】

不论第一次操作取出哪种硬币,袋中都会出现 100 100 枚该种硬币。

【样例解释2】

我们只会在第一次取出金币的情况下进行第二次操作,操作次数的数学期望为 $ 2\times\ \frac{98}{98+99+99}+1\times\ \frac{99}{98+99+99}+1\times\ \frac{99}{98+99+99}=1.331081081\ldots $。

【样例解释3】

每次操作只会取出铜币

99 99 99
1.000000000
98 99 99
1.331081081
0 0 1
99.000000000
31 41 59
91.835008202

提示

制約

  • 0  A,B,C  99 0\ \leq\ A,B,C\ \leq\ 99
  • A+B+C  1 A+B+C\ \geq\ 1

Sample Explanation 1

1 1 回目の操作でどの硬貨を取り出しても、取り出した種類の硬貨が 100 100 枚になります。

Sample Explanation 2

1 1 回目の操作で金貨を取り出したときのみ 2 2 回の操作を行います。 よって期待値は $ 2\times\ \frac{98}{98+99+99}+1\times\ \frac{99}{98+99+99}+1\times\ \frac{99}{98+99+99}=1.331081081\ldots $ となります。

Sample Explanation 3

操作を行うごとに銅貨が 1 1 枚ずつ増えていきます。