Votre tâche consiste à créer la chaîne cible donnée. En commençant par une chaîne vide, vous devrez y ajouter des caractères, jusqu'à ce que votre chaîne soit la même que celle que nous voulons. Vous pouvez soit ajouter un caractère à la fin de votre chaîne avec le coût x, soit cloner votre chaîne avec le coût y. Ce que nous voulons, c'est le moyen le moins cher de le faire.
Cas de test
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
Réponses:
Husk , 25 octets
Essayez-le en ligne!
Les entrées sont dans l'ordre ajouter le coût, le coût du clone, la cible.
Explication
la source
Python 2 , 112 octets
Essayez-le en ligne!
la source
JavaScript (ES6),
123111 octetsPrend l'entrée comme
(x)(y)(s)
.Essayez-le en ligne!
Commenté
la source
R ,
192185 octetsEssayez-le en ligne!
Code déroulé et explication:
la source