Su tarea es crear la cadena objetivo dada. Comenzando con una cadena que está vacía, tendrá que agregarle caracteres, hasta que su cadena sea la misma que queremos. Puede agregar un carácter al final de su cadena con costo x, o puede clonar su cadena con costo y. Lo que queremos es la forma más barata de hacer esto.
Casos de prueba
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
Respuestas:
Casco , 25 bytes
Pruébalo en línea!
Las entradas están en el orden agregar costo, costo de clonación, objetivo.
Explicación
fuente
Python 2 , 112 bytes
Pruébalo en línea!
fuente
JavaScript (ES6),
123111bytesToma entrada como
(x)(y)(s)
.Pruébalo en línea!
Comentado
fuente
R ,
192185 bytesPruébalo en línea!
Código desenrollado y explicación:
fuente