Набор строки копированием и вставкой

Задача по программированию с проверкой онлайн

Сложность
Сложная
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Строки
Динамическое программирование
Словари и множества

Нужно набрать строку target из строчных латинских букв. Вы начинаете с пустой строки и пустого буфера обмена; за одну операцию можно:

  • дописать в конец строки одну любую букву;
  • скопировать в буфер любой подотрезок (подряд идущие символы) текущей строки, заменив прежнее содержимое буфера;
  • дописать в конец строки всё содержимое буфера (буфер не меняется).

В конце должна получиться ровно строка target, без лишних букв. Верните наименьшее число операций.

Ограничения: 1 ≤ len(target) ≤ 150.

Пример: "abcabab" → 6 (набрать a, b, c, скопировать ab, вставить его дважды).


Источник: Coding Competitions Archive, kickstart/2017/round_e/copy__paste · © Google LLC · Apache-2.0 · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки