Fes-te un Palaca


Submit solution

Points: 5
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Pensar!
Category
Codejam

Àlex ha començat a jugar a Dungeons and Dragons, i s’ha fet un Paladí (Palaca), una classe que fa atacs amb arma.

A Dungeons and Dragons, els atacs funcionen així. Primer tires un dau de 20 cares (per tant, que va d'1 a 20), això es coneix com a 1d20. El resultat d’aquest dau (conegut com el dau d’atac) es compara amb l’armadura de l’oponent. Si el resultat és igual o superior a l’armadura de l’oponent, aleshores l’atac ha impactat i tires els daus de dany

Els daus de dany es representen amb una fórmula com 4d6 + 2, per tant, tiraràs 4 daus de 6 cares, sumaràs els resultats, i li sumaràs 2.

Hi ha una altra mecànica, el crític. Si en el dau de 20 dones explícitament un 20, l’atac dona sempre (encara que l’enemic tingués més armadura), i a més el dany es multiplica per 2. (És a dir, en l’exemple anterior, seguiries tirant 4 daus de 6 cares, li sumaries 2, i al resultat final el multiplicaries per 2)

Àlex tira els daus, fa els càlculs, i després diu el resultat que ha obtingut. Això no obstant, Àlex NO està preparat (tot i dir que ho està), amb el que hauries de comprovar de si el resultat que ha donat és possible o no.

Entrada

La primera línea és el nombre de casos. Cada cas són tres línies. La primera és l’armadura de l’oponent, un valor entre 0 i 30. La segona línea es la fórmula dels daus de dany que sempre serà del format \(NdK + M\), a on N és el nombre de daus, de 1 a 100, K el valor màxim del dau, de 1 a 100, i M el modificador, de 0 a 20. (d és la lletra 'd', no és una variable) l’última és la quantitat de dany que Alex diu que ha fet.

Sortida

Si aquest dany és possible, es dirà “SI”. En cas contrari, es dirà “NO”.

Exemple d'Entrada

4
10
4d6 + 2
15
10
4d6 + 2
410
10
4d6 + 2
0
10
4d6 + 2
52

Exemple de Sortida

SI
NO
SI
SI

Explicació de l'exemple

  • En el primer cas l’atac impacta (per exemple, el dau d'atac ha estat un 15) i els daus de dany són (per exemple) (4 + 4 + 2 + 3) + 2
  • En el segon, el dany és massa gran com perque el pugui fer.
  • En el tercer, simplement l’atac no impacta (per exemple, el dau d'atac es un 1).
  • El quart és possible si fos un crític (el dau d'atac es un 20) i els daus de dany son ((6 + 6 + 6 + 6) + 2) * 2

Ahem, si aneu a fer un split enrecordeu-vos de que + és un caràcter especial i s'ha d'escapar fent " \\+ "


Comments


  • 0
    marc  commented on Feb. 23, 2022, 6:00 p.m.

    A veure.

    Heu de considerar dues tirades diferents, primer la del dau de 20 cares (sempre es un dau de 20 cares), que es comparara amb l'armadura de l'enemic Si la tirada de dau es menor a l'armadura de l'enemic, el dany es 0. Sempre.

    Si la tirada de dau es igual o superior a l'armadura de l'enemic, despareix totalment de l'equació tant el dau com l'armadura de l'enemic, i es tiren els daus de dany. l'armadura no es resta en cap moment dels daus de dany, no se perquè penseu això.