После победы над соперником из Чёрного Списка вы получаете шанс вытянуть \(1\) из \(x\) доступных призовых карточек. Изначально \(x=3\) и доступны следующие карточки: Взятка, Освобождение от конфискации и Машина соперника. Изначально вероятность вытянуть их в случайной попытке равна \(c\), \(m\) и \(p\) соответственно. Также присутствует фактор изменчивости \(v\). Вы можете играть в гонки с соперником до тех пор, пока не вытяните карточку Машина соперника. Предположим, что вы выигрываете каждую гонку и получаете шанс тянуть призовую карточку. В каждом вытягивании вы достаете одну из \(x\) доступных карточек с соответствующей вероятностью. Пусть вы вытянули карточку и вероятность ее вытягивания до вашей попытки была равна \(a\). Тогда
- Если это карточка Машина соперника, то игра для вас заканчивается и вы больше не можете участвовать в гонках.
- Иначе
- Если \(a\leq v\), то вероятность вытянутой карточки становится равной \(0\) и она перестает быть доступной для последующих вытягиваний, уменьшая \(x\) на \(1\). Более того, освободившаяся вероятность \(a\) распределяется равномерно среди оставшихся доступных карточек.
- Если \(a > v\), вероятность вытянутой карточки уменьшается на \(v\), и освободившаяся вероятность распределяется равномерно среди остальных доступных карточек.
Например,
- Если \((c,m,p)=(0.2,0.1,0.7)\) и \(v=0.1\), то после вытягивания карточки Взятка новые вероятности будут равны \((0.1,0.15,0.75)\).
- Если \((c,m,p)=(0.1,0.2,0.7)\) и \(v=0.2\), то после вытягивания карточки Взятка новые вероятности будут равны \((\text{Недоступна},0.25,0.75)\).
- Если \((c,m,p)=(0.2, \text{Недоступна},0.8)\) и \(v=0.1\), то после вытягивания карточки Взятка новые вероятности будут равны \((0.1, \text{Недоступна} ,0.9)\).
- Если \((c,m,p)=(0.1,\text{Недоступна},0.9)\) и \(v=0.2\), то после вытягивания карточки Взятка новые вероятности будут равны \((\text{Недоступна},\text{Недоступна},1.0)\).
Вам хочется заполучить машину соперника. Для этого вы должны найти математическое ожидание количества гонок, которые нужно пройти, чтобы вытянуть карточку Машина соперника.
Выходные данные
Для каждого набора входных данных выведите одну строку, содержащую одно действительное число — математическое ожидание количества гонок, которые нужно пройти, чтобы вытянуть карточку Машина соперника.
Ответ будет считаться верным, если его абсолютная или относительная ошибка не будет превосходить \(10^{-6}\).
Формально, пусть ваш ответ равен \(a\), а ответ жюри – \(b\). Ваш ответ считается правильным, если \(\frac{|a - b|}{\max{(1, |b|)}} \le 10^{-6}\).
Примечание
Обозначим за C вытягивание карточки Взятка, за M — карточки Освобождение от конфискации, за P — карточки Машина соперника.
В первом наборе входных данных возможные последовательности вытягиваний представлены ниже:
- P с вероятностью \(0.6\);
- CP с вероятностью \(0.2\cdot 0.7 = 0.14\);
- CMP с вероятностью \(0.2\cdot 0.3\cdot 0.9 = 0.054\);
- CMMP с вероятностью \(0.2\cdot 0.3\cdot 0.1\cdot 1 = 0.006\);
- MP с вероятностью \(0.2\cdot 0.7 = 0.14\);
- MCP с вероятностью \(0.2\cdot 0.3\cdot 0.9 = 0.054\);
- MCCP с вероятностью \(0.2\cdot 0.3\cdot 0.1\cdot 1 = 0.006\);
Поэтому математическое ожидание количества гонок равно
\(1\cdot 0.6 + 2\cdot 0.14 + 3\cdot 0.054 + 4\cdot 0.006 + 2\cdot 0.14 + 3\cdot 0.054 + 4\cdot 0.006 = 1.532\).
Во втором наборе данных возможные последовательности вытягиваний представлены ниже -
- P с вероятностью \(0.4\);
- CP с вероятностью \(0.4\cdot 0.6 = 0.24\);
- CMP с вероятностью \(0.4\cdot 0.4\cdot 1 = 0.16\);
- MP с вероятностью \(0.2\cdot 0.5 = 0.1\);
- MCP с вероятностью \(0.2\cdot 0.5\cdot 1 = 0.1\).
Поэтому математическое ожидание количества гонок равно \(1\cdot 0.4 + 2\cdot 0.24 + 3\cdot 0.16 + 2\cdot 0.1 + 3\cdot 0.1 = 1.86\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 0.2 0.2 0.6 0.2 0.4 0.2 0.4 0.8 0.4998 0.4998 0.0004 0.1666 0.3125 0.6561 0.0314 0.2048
|
1.532000000000
1.860000000000
5.005050776521
4.260163673896
|