Twoim zadaniem jest utworzenie podanego ciągu docelowego. Począwszy od łańcucha, który jest pusty, będziesz musiał dodawać do niego znaki, aż łańcuch będzie taki sam, jak ten, którego chcemy. Możesz dodać znak na końcu łańcucha o koszcie x lub sklonować łańcuch o koszcie y. To, czego chcemy, to najtańszy sposób na zrobienie tego.
Przypadki testowe
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
Odpowiedzi:
Łuska , 25 bajtów
Wypróbuj online!
Dane wejściowe są w kolejności dodawania kosztu, kosztu klonowania, celu.
Wyjaśnienie
źródło
Python 2 , 112 bajtów
Wypróbuj online!
źródło
JavaScript (ES6),
123111 bajtówPobiera dane wejściowe jako
(x)(y)(s)
.Wypróbuj online!
Skomentował
źródło
R ,
192185 bajtówWypróbuj online!
Kod i objaśnienie:
źródło