Ctrl K

Слово на конвейере

Средняя
Дана строка text из строчных латинских букв и число step. Каждую секунду строку обязательно меняют за два действия: 1. стирают первые step символов; 2. дописывают в конец любые step символов на ваш выбор (не обязательно те, что стёрли). Оба действия выполняются каждую секунду, пропустить ход нельзя. Верните наименьшее положительное число секунд, через которое строка снова может совпасть с исходной text.
Пример 1
text="banana", step=2 → 3

Через секунду остаётся «nana» и два любых символа, но «nana» не совпадает с началом «bana». Через две — «na» против «ba», тоже нет. Через три секунды от исходного слова не остаётся ничего, и все шесть символов можно дописать заново.

Пример 2
text="abcab", step=3 → 1

Убираем «abc», остаётся «ab» — это как раз начало слова. Дописываем «cab» и через одну секунду снова получаем «abcab».

Пример 3
text="zzz", step=1 → 1

Любой хвост из букв z совпадает с началом слова, так что хватает одной секунды.

Ограничения
  • 1 ≤ len(text) ≤ 50
  • 1 ≤ step ≤ len(text)
  • text состоит только из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЯкорь рядом с напарником СредняяЦель из начал слов СредняяПалиндром дописыванием слева СложнаяНачало, совпадающее с концом СложнаяХвосты, повторяющие начало Сложная
загружаем Python…
Вход
text="banana", step=2
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 111 тестов на сервере, включая скрытые.