URI Online Judge | 1093

Vampiros

Por Pedro Demasi  Brazil

Timelimit: 1

Felipe está emocionado con su nuevo videojuego RPG, sobre guerras entre clanes de vampiros. En este juego el maneja a un vampiro que en repetidas ocasiones entra en combate contra vampiros de otros clanes. Tales batallas son ganadas o perdidas dependiendo de algunas características de los oponentes, con la ayuda de un dado estandar de seis caras. Para simplificar, sólo consideraremos las peleas entre dos vampiros, Vampiro 1 y Vampiro 2. Cada vampiro tiene una energía vital (indicada respectivamente por EV1 y EV2). Además, una fuerza de ataque AT y una capacidad de daño D son también indicadas.

El combate se pelea en turnos, de la siguiente manera. En cada turno, se tira el dado; si el valor que sale es mayor o igual a AT, el Vampiro 1 gana el turno, sino Vampiro 2 gana. El ganador entonces absorbe el valor D de la energía vital del perdedor. Es decir, D puntos son restados de la energía vital del perdedor y sumados a la energía vital del ganador. El combate continúa hasta que uno de los peleadores tiene EV menor o igual a cero.

Por ejemplo, supongamos EV1=7, EV2=5, AT=2 and D=4. El dado es arrojado y el resultado es 3. Entonces, Vampiro 2 gana el turno, y por lo tanto 4 puntos son restados de EV1 y sumados a EV2. Los nuevos valores para las energías vitales serían EV1=3 y EV2=9. Vean que, si en el siguiente turno el Vampiro 2 gana de nuevo, el combate termina. Los valores de AT y D son constantes a través del combate; solo EV1 y EV2 varían.

A pesar de amar el juego, Felipe piensa que los combates son muy largos, y sospecha que, dados los valores iniciales de EV1, EV2, AT y D, es posible determinar la probabilidad de que uno de los jugadores gane el combate, y esto puede ayudar a acortar el tiempo de combate. Felipe ha pedido tu ayuda para verificar su sospecha.

Entrada

La entrada tiene varios casos de prueba. Cada caso de prueba es dado en una sola línea, que contiene cuatro enteros EV1, EV2, AT y D separados por espacios (1 ≤ EV1, EV2 ≤ 10, 1 ≤ AT ≤ 5 y 1 ≤ D ≤ 10). El fin de la entrada es indicado por una línea que contiene cuatro ceros, separados por espacios.

Salida

Para cada caso de prueba en la entrada, tu programa debe imprimir una sola línea. La línea debe contener un número real representando, en porcentaje, la probabilidad de que el Vampiro 1 gane el combate. El resultado debe ser impreso como un número real con exactamente una sola cifra decimal.

Ejemplo de entrada Ejemplo de salida

1 1 3 1
1 2 1 1
8 5 3 1
7 5 2 4
0 0 0 0

50.0
3.2
61.5
20.0