Sua tarefa é criar a sequência de destino especificada. Começando com uma string vazia, você terá que adicionar caracteres a ela, até que ela seja igual à que queremos. Você pode adicionar um caractere ao final da sequência com o custo x ou cloná-la com o custo y. O que queremos é a maneira mais barata de fazer isso.
Casos de teste
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
Respostas:
Casca , 25 bytes
Experimente online!
As entradas estão na ordem anexar custo, custo de clone, destino.
Explicação
fonte
Python 2 , 112 bytes
Experimente online!
fonte
JavaScript (ES6),
123111 bytesToma entrada como
(x)(y)(s)
.Experimente online!
Comentado
fonte
R ,
192185 bytesExperimente online!
Código desenrolado e explicação:
fonte