Ваша задача - создать заданную целевую строку. Начиная с пустой строки, вам нужно будет добавлять к ней символы, пока ваша строка не станет той, которую мы хотим. Вы можете добавить символ в конец строки со стоимостью x или клонировать строку со стоимостью y. То, что мы хотим, это самый дешевый способ сделать это.
Тестовые случаи
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
1
Как определяются затраты? Это положительные целые числа?
—
Арно
Я думаю, что вы просто хотите бросить вызов Code Golf (кратчайший код), поэтому я удалил вызов кода и программировал теги головоломки, которые указывают на альтернативный способ оценки.
—
xnor
Я думаю, что это помогло бы иметь больше тестовых случаев, так как кажется, что кто-то может написать программу, которая имеет хорошую эвристику, которая работает для всех тестовых случаев, но не является оптимальной в целом. В частности, ни в одном из тестовых случаев нет нескольких клонов или клонов подстрок, которых нет в начале. Я думаю, что было бы также хорошо иметь пример, где изменение только затрат изменяет результат.
—
xnor
Кстати, хороший первый вызов!
—
Эрик Outgolfer
Клонирование одной буквы все еще считается операцией клонирования?
—
digEmAll