Sei l'eroe migliore e più famoso della zona. Ultimamente ci sono state voci secondo cui un'Idra si è ritrovata in un burrone vicino. Essendo l'eroe coraggioso e virtuoso che sei, immagina che andrai a dare un'occhiata più tardi oggi.
Il problema con gli hydrae è che ogni volta che provi a tagliargli la testa alcuni nuovi ricrescono. Fortunatamente per te hai le spade che possono tagliare più teste contemporaneamente. Ma c'è un problema, se l'idra ha meno teste dei tagli della tua spada, non sarai in grado di attaccare l'idra. Quando l'idra ha esattamente zero teste, l'hai uccisa.
C'è anche una spada speciale chiamata The Bisector che taglierà metà delle teste dell'Hydra, ma solo se il numero di teste sarà pari. Il Bisettore non può essere usato affatto quando il numero di teste è dispari. Ciò è diverso dal taglio di zero teste.
Quindi hai deciso di scrivere un programma per computer per capire il modo migliore per uccidere l'idra.
Compito
Ti verrà dato come input
- il numero di teste con cui Hydra inizia
- il numero di teste che l'Idra ricresce ogni turno
- un elenco di spade disponibili per l'uso ciascuna (ognuna è una bisettrice o taglia un numero fisso di teste ogni turno)
Dovresti produrre un elenco di mosse che uccideranno l'idra nel minor numero di turni possibili. Se non c'è modo di uccidere l'idra, devi emettere qualche altro valore che lo indichi (e l'elenco vuoto va bene se la tua lingua è fortemente tipizzata). Se ci sono diversi modi ottimali per uccidere l'idra, puoi produrre uno di essi o tutti.
Questa è una domanda di code-golf, quindi le risposte verranno classificate in byte, con un numero inferiore di byte migliori.
Casi test
Altre disponibili su richiesta
5 heads, 9 each turn, [-1,-2,-5] -> [-5]
12 heads, 1 each turn, [/2,-1] -> No solution
8 heads, 2 each turn, [-9, -1] -> [-1,-9]
3 heads, 23 each turn, [/2,-1,-26] -> [-1,-1,-26,-26,-26,-26,-26,-26,-26,-26]
16 heads, 1 each turn, [/2, 4, 2] -> [/2,-4,/2,-4]
Questa domanda è una versione semplificata del meccanico principale di HydraSlayer . Se ti piace questo tipo di puzzle ti consiglio di provarlo, è abbastanza divertente. Non ho alcuna affiliazione con il gioco.
[/2, -2, /2, -2, -4]
funziona anche.