#jag2017summerday1c. [jag2017summer_day1_c]すごろく
[jag2017summer_day1_c]すごろく
問題文
黒猫のスヌケ君はすごろくで遊んでいます。
このすごろくでは変わったサイコロを使っています。 このサイコロには全部で 個の面があり、それぞれの面が出る確率は全て同じです。 番目の面には整数 が書かれていて、この面が出たときは駒をちょうど マス進めます。
一方、このすごろくで使っているマスはそれほど変わったものではありません。 全部で 個のマスが一列に並んでいて、 番目のマスがスタート、 番目のマスがゴールです。 番目のマスには整数 が書かれていて、このマスに止まった場合は の値によって以下のような効果を受けます。
- が 以上である場合:駒をちょうど マス進める。ただし、進めた先のマスの効果は受けない。
- が 未満である場合: ターン休みとなる。
さて、スヌケ君がこのすごろくでゴールするまでにかかるターン数の期待値はいくらでしょうか?
なお、このすごろくではゴールを越えて進もうとした場合もゴールとみなされます。
制約
入力
入力は以下の形式で標準入力から与えられる。
出力
ゴールするまでにかかるターン数の期待値を出力せよ。 ただし、絶対誤差または相対誤差が 以下ならば正解とみなされる。
入力例 1
3 4
1 2 3
0 1 -1 0
出力例 1
2.00000000000000000000
最初のターンで出た目ごとに考えると以下のとおりである。
- 出た目が の場合: マス進み、 番目のマスに止まる。このマスの効果により、 番目のマスまで進む。次のターンでは何が出てもゴールできるため、ゴールには合計 ターンかかる。
- 出た目が の場合: マス進み、 番目のマスに止まる。このマスの効果により、 ターン休みとなる。次のターンは休みとなり、その次のターンでは何が出てもゴールできるため、ゴールには合計 ターンかかる。
- 出た目が の場合: マス進み、 番目のマスに止まる。すなわち、 ターンでゴールできる。
したがって、期待値は となる。
入力例 2
1 10
1
0 0 0 0 0 0 0 0 0 0
出力例 2
9.00000000000000177636
入力例 3
5 6
1 1 2 3 5
0 0 6 -10 1 0
出力例 3
4.47999999999999953815