#3180. Sugoroku2

0

Sugoroku2

Sugoroku2

题目描述

Takahashi 在玩双陆棋(sugoroku)。 棋盘有 N+1N+1 个格子,编号为 00 到 NN。 Takahashi 从格子 00 出发,目标是到达格子 NN。 在这个双陆棋中,我们使用一个指示 11 到 MM 的轮盘,每个数字出现的概率相等。 每一回合,Takahashi 旋转轮盘并前进轮盘显示的步数。当这使他到达格子 NN 或超过它时,他就获胜。 有些格子会在他停在上面时把他送回格子 00。 这样的格子有 KK 个:格子 A1,…,AKA_1, \ldots, A_K。 求 Takahashi 在获胜前旋转轮盘的期望次数。 如果不可能获胜,输出 −1-1。

输入格式

输入从标准输入给出,格式如下: NN MM KK A1A_1 …\ldots AKA_K

输出格式

输出 Takahashi 在获胜前旋转轮盘的期望次数。 当你的输出与我们的答案的绝对或相对误差至多 10−310^{-3} 时,将视为正确。 如果不可能获胜,输出 −1-1。

2 2 0
1.5000
2 2 1
1
2.0000
100 6 10
11 12 13 14 15 16 17 18 19 20
-1
100000 2 2
2997 92458
201932.2222

提示

所有输入值均为整数。 1≤N≤1051 \leq N \leq 10^5 1≤M≤1051 \leq M \leq 10^5 0≤K≤100 \leq K \leq 10 0 < A_1 < \ldots < A_K < N如果轮盘在第一回合显示 11,他将需要两次旋转才能获胜;如果轮盘在第一回合显示 22,他将需要一次旋转获胜。因此,期望旋转次数为 1.51.5。
如果轮盘显示 11,他前进到格子 11,但它会把他送回格子 00。
因此,他会不断旋转轮盘直到得到 22 并获胜。
在第 ii 次旋转时第一次得到 22 的概率是 12i\frac{1}{2^i},所以期望旋转次数为 ∑i=1∞(i×12i)=2\sum_{i = 1}^{\infty} (i \times \frac{1}{2^i}) = 2。

标签: AtCoder|abc189F

来源

AtCoder|abc189F