Ça fait un moment que tu as tué cette hydreCela , vous avez baigné dans la gloire pendant des années, mais maintenant les gens vous appellent lavé, a a été. Eh bien, il est temps de leur prouver le contraire, vous avez entendu le sort d'une autre hydre. Tuez-le simplement et vous obtiendrez toute la gloire que vous méritez.
Vous arrivez à l'armurerie pour recevoir vos épées, mais elles ne sont plus des épées normales, il ne leur reste que des secteurs. Un n-secteur divisera le nombre de têtes sur une Hydra par n, mais ne peut être utilisé que si le nombre de têtes est divisible par n.
Encore une fois, vous allez écrire du code pour vous aider à tuer l'hydre. Votre code prendra en entrée le nombre de têtes de l'hydre, commence le combat avec, le nombre de têtes avec lesquelles l'hydre grandit à chaque tour, et une liste de n secteurs que vous pouvez utiliser. Votre code affichera un schéma optimal de mouvements pour tuer l'hydre le plus rapidement possible
À chaque tour du combat, vous pouvez sélectionner une seule épée à utiliser, si après une tranche, l'hydre n'a qu'une seule tête que vous gagnez, sinon elle fait pousser des têtes. Vous ne pouvez jamais faire aucun mouvement, et s'il n'y a pas de mouvements possibles disponibles, vous perdez.
Si aucune solution n'est possible, vous pouvez sortir autre chose qu'une solution, par exemple une liste vide, rien, le nombre zéro, etc.
Il s'agit de code-golf, donc les réponses seront notées en fonction de leur nombre d'octets, moins étant mieux.
Cas de test
Voici quelques cas de test super basiques, plus de cas de test seront ajoutés sur demande.
24 heads, 1 heads per turn, [2,3] -> [3,3,2,3]
25 heads, 2 heads per turn, [2,3] -> No solutions
4 heads, 2 heads per turn, [2] -> No solutions
4 heads, 3 heads per turn, [2,5] -> [2,5]
10 heads, 17 heads per turn, [2, 3, 7, 19] -> No solutions
10 heads, 6 heads per turn, [1,16] -> [1,16]
6 heads, 2 heads per turn, [2, 3, 5] -> [2, 5]
125 heads, 1 head per turn, [1, 2, 3, 127] -> [1, 1, 127]