Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

VAMPIROS - Vampiros

Felipinho está empolgado com seu novo jogo de RPG sobre guerras entre clãs de vampiros. Nesse jogo ele representa um personagem de um vampiro e constantemente entra em conflito contra vampiros de outros clãs. Tais batalhas são realizadas com base nas características de cada personagem envolvido e com a ajuda de um dado comum de seis faces.

Por simplicidade, vamos considerar apenas as lutas entre dois vampiros, vampiro 1 e vampiro 2. Cada um possui uma energia vital (chamaremos de EV1 e EV2 respectivamente) e, além disso, são determinadas uma força de ataque AT e uma capacidade de dano D.

O combate é realizado em turnos da maneira descrita a seguir. A cada turno um dado é rolado, se o valor obtido for menor do que ou igual a AT , o vampiro 1 venceu o turno, caso contrário o vampiro 2 é quem venceu. O vencedor suga energia vital do adversário igual ao valor D, ou seja, D pontos de EV são diminuídos do perdedor e acrescentados ao vencedor. O combate segue até que um dos vampiros fique com EV igual a ou menor do que zero.

Por exemplo, suponhamos que EV1 = 7, EV2 = 5, AT = 2, D = 4. Rola-se o dado e o valor obtido foi 3. Nesse caso, o vampiro 2 venceu o turno e, portanto, 4 pontos de EV são diminuídos do vampiro 1 e acrescentados ao vampiro 2. Sendo assim, os novos valores seriam EV1 = 3 e EV2 = 9. Observe que se no próximo turno o vampiro 2 ganhar novamente, o combate irá terminar.

Os valores de AT e D são constantes durante todo o combate, apenas EV1 e EV2 variam.

Apesar de gostar muito do jogo, Felipinho acha que os combates estão muito demorados e e gostaria de conhecer de antemão a probabilidade de vencer, para saber se vale a pena lutar. Assim, ele pediu que você escrevesse um programa que, dados os valores iniciais de EV1 , EV2 , além de AT e D, calculasse a probabilidade de o vampiro 1 vencer o combate.

Entrada

A entrada contém vários casos de teste. Cada caso de teste ocupa uma única linha, com os quatro inteiros EV1, EV2, AT e D separados por um espaço em branco (1 <= EV1, EV2 <= 10, 1 <= AT <= 5 e 1 <= D <= 10).

O final da entrada é indicado por uma linha contendo quatro zeros.

Saída

Para cada caso de teste da entrada seu programa deve imprimir uma única linha. A linha deve conter apenas um número real, escrito com precisão de uma casa decimal, representando, em termos de percentagem, a probabilidade de o vampiro 1 vencer o combate.

Exemplo

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

Saída
50.0
3.2
61.5
20.0

Adicionado por:Wanderley Guimarăes
Data:2008-10-25
Tempo limite:0.386s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL
Origem:Primeira fase da Maratona de Programação - 2008

hide comments
2013-10-19 20:59:39 Eduardo Fischer dos Santos[FURG]


Last edit: 2013-10-19 23:16:45
2012-03-01 14:52:41 João Paulo Constantino [FIC-MG]


Last edit: 2012-03-01 14:52:55
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.