Porciones de sopa

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 11
Dificultad Medio Algoritmos
Mostrar (3) MatemáticasProbabilidadProgramación dinámica
Enviar solución

Puntos: 10

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Hay dos sopas, A y B, con \(n\) mililitros cada una. En cada turno se elige al azar, con probabilidad \(1/4\) cada una, una de estas operaciones:

  1. servir \(100\) ml de A y \(0\) de B;
  2. servir \(75\) ml de A y \(25\) de B;
  3. servir \(50\) ml de A y \(50\) de B;
  4. servir \(25\) ml de A y \(75\) de B.

Si una sopa no alcanza para lo que se pide, se sirve lo que queda. El proceso termina cuando al menos una de las dos se acaba. Calcula la probabilidad de que A se acabe primero más la mitad de la probabilidad de que ambas se acaben al mismo tiempo.

Entrada

Un entero \(n\) \((0 \le n \le 10^9)\).

Salida

La probabilidad pedida. Se acepta un error relativo o absoluto de hasta \(10^{-5}\).

Ejemplo 1

Entrada

50

Salida

0.6250000000

Ejemplo 2

Entrada

100

Salida

0.7187500000

Comentarios

No hay comentarios por el momento.