100 atcoder#ABC126C. [ABC126C] Dice and Coin

[ABC126C] Dice and Coin

题目描述

すぬけ君は 1 1 N N の整数が等確率で出る N N 面サイコロと表と裏が等確率で出るコインを持っています。すぬけ君は、このサイコロとコインを使って今から次のようなゲームをします。

  1. まず、サイコロを 1 1 回振り、出た目を現在の得点とする。
  2. 得点が 1 1 以上 K1 K-1 以下である限り、すぬけ君はコインを振り続ける。表が出たら得点は 2 2 倍になり、裏が出たら得点は 0 0 になる。
  3. 得点が 0 0 になった、もしくは K K 以上になった時点でゲームが終了する。このとき、得点が K K 以上である場合すぬけ君の勝ち、 0 0 である場合すぬけ君の負けである。

N N K K が与えられるので、このゲームですぬけ君が勝つ確率を求めてください。

输入格式

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

N N K K

输出格式

すぬけ君が勝つ確率を出力せよ。絶対誤差または相対誤差が 109 10^{-9} 以下のとき正解とみなされる。

题目大意

Snuke 有一个 nn 面的色子,投掷这个色子的时候会以相等的概率得到一个在 11nn 之间的整数。他还有一个硬币,投掷时正面朝上和反面朝上的概率相等。

现在他要用色子和硬币玩一个游戏:

  • 扔色子,将得到的整数作为初始分数。

  • 只要这个分数在 11k1k-1 之间(包含 11k1k-1),就扔硬币。当正面朝上时,将这一分数翻倍;否则,将分数归零。

  • 分数归零或大于等于 kk 时,游戏结束。若分数大于等于 kk,Snuke 获胜,否则 Snuke 失败。

给出 nnkk,你需要求出 Snuke 获胜的概率。

3 10
0.145833333333
100000 5
0.999973749998

提示

制約

  • 1 < = N < = 105 1\ <\ =\ N\ <\ =\ 10^5
  • 1 < = K < = 105 1\ <\ =\ K\ <\ =\ 10^5
  • 入力はすべて整数

Sample Explanation 1

- サイコロの出た目が 1 1 のとき、得点が 10 10 以上になるためには、 4 4 回コインを振って 4 4 連続で表が出る必要があります。この確率は、 $ \frac{1}{3}\ \times\ (\frac{1}{2})^4\ =\ \frac{1}{48} $ です。 - サイコロの出た目が 2 2 のとき、得点が 10 10 以上になるためには、 3 3 回コインを振って 3 3 連続で表が出る必要があります。この確率は、 $ \frac{1}{3}\ \times\ (\frac{1}{2})^3\ =\ \frac{1}{24} $ です。 - サイコロの出た目が 3 3 のとき、得点が 10 10 以上になるためには、 2 2 回コインを振って 2 2 連続で表が出る必要があります。この確率は、 $ \frac{1}{3}\ \times\ (\frac{1}{2})^2\ =\ \frac{1}{12} $ です。 よって、すぬけ君が勝つ確率は、 $ \frac{1}{48}\ +\ \frac{1}{24}\ +\ \frac{1}{12}\ =\ \frac{7}{48}\ \simeq\ 0.1458333333 $ です。