#ABC189F. 双六

双六

双六

题目描述

高桥君在玩双六(一种棋盘游戏)。

这个双六有编号为 00NNN+1N+1 个格子。 高桥君从格子 00 出发,目标是格子 NN

这个双六使用一个从 11MMMM 种点数等概率出现的转盘。 每个回合,高桥君转动转盘,前进所出点数对应的格数。如果结果到达格子 NN,或越过格子 NN,则到达终点(goal)。

此外,有一些格子是「回到起点」,停在这些格子上时会被送回格子 00。 这样的格子有 KK 个,分别是格子 A1,,AKA_1,\ldots,A_K

请回答高桥君到达终点前转动转盘次数的期望值。 如果无法到达终点,则输出 -1

输入格式

输入按以下格式从标准输入给出:

NN MM KK
A1A_1 \ldots AKA_K

输出格式

输出高桥君到达终点前转动转盘次数的期望值。 另外,与标准答案的绝对误差或相对误差在 10310^{-3} 以内即视为正确。 但是,如果无法到达终点,则输出 -1

样例

2 2 0

1.5000

如果第 11 次转动转盘出 11,则需要 22 次;出 22 则需要 11 次到达终点,所以转动转盘次数的期望值为 1.51.5

2 2 1
1
2.0000

转动转盘出 11 时会移动到格子 11,但该格子是「回到起点」,因此会被送回格子 00

因此,需要一直转动转盘直到出 22,在第一次出 22 时到达终点。

ii 次才第一次出 22 的概率为 12i\frac{1}{2^i},所以转动转盘次数的期望值为 i=1(i×12i)=2\sum_{i = 1}^{\infty} (i \times \frac{1}{2^i}) = 2

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

数据范围

  • 输入均为整数
  • 1N1051 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 0K100 \leq K \leq 10
  • 0<A1<<AK<N0 \lt A_1 \lt \ldots \lt A_K \lt N
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2069
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签