Ctrl K

Набор слова на кодовом диске

Сложная
Замок открывается кодовым словом, которое набирают на круглом диске. По кругу диска выгравированы буквы строки dial, после последней снова идёт первая. Вверху есть метка, и сначала под ней стоит dial[0]. Слово word набирают по одной букве: - поворот диска на одну позицию по часовой стрелке или против неё — один шаг; - когда под меткой нужная буква, нажимают кнопку в центре — это тоже один шаг. Найдите наименьшее число шагов, чтобы набрать всё слово word. Гарантируется, что все его буквы есть на диске.
Пример 1
dial="carton", word="tan" → 10

t стоит в трёх шагах от метки: 3 поворота и нажатие. До a — 2 шага и нажатие, до n — 2 шага через начало кольца и нажатие. Итого 4 + 3 + 3 = 10.

Пример 2
dial="abcabc", word="ca" → 4

Выгоднее взять c в конце кольца: 1 поворот назад и нажатие. Оттуда до a в начале — ещё 1 поворот и нажатие. Итого 4.

Пример 3
dial="z", word="zzz" → 3

Крутить не нужно, только три нажатия.

Ограничения
  • 1 ≤ len(dial), len(word) ≤ 100
  • Обе строки состоят из строчных латинских букв
  • Каждая буква word есть в dial
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПорядок букв по словарю СложнаяСамый длинный подъём по карте СложнаяСлова из других слов СложнаяРасчистить ряд шариков СложнаяШарик и лунка Сложная
загружаем Python…
Вход
dial="carton", word="tan"
Ожидается
10

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