Ctrl K

Печать двумя пальцами

Сложная
Заглавные латинские буквы разложены на клавиатуре по шесть в ряд: буква с номером p в алфавите (A — 0, B — 1, …, Z — 25) стоит в строке p // 6 и столбце p % 6. Например, A в клетке (0, 0), H — в (1, 1), Z — в (4, 1). Слово word печатают двумя пальцами: каждую букву по очереди нажимает один из пальцев, перемещаясь на её клавишу. Перемещение из (r1, c1) в (r2, c2) стоит |r1 - r2| + |c1 - c2|. Начальное положение каждого пальца выбирается бесплатно: первое нажатие пальцем ничего не стоит. Верните минимальное суммарное расстояние, которое пройдут пальцы, чтобы напечатать слово.
Пример 1
word="BOAT" → 3

B стоит в (0, 1), O — в (2, 2), A — в (0, 0), T — в (3, 1). Один палец печатает B, затем A: путь 1. Другой печатает O, затем T: путь 2. Итого 3.

Пример 2
word="AZ" → 0

Каждую букву печатает свой палец, поставленный бесплатно, — путь 0.

Пример 3
word="MOON" → 1
Ограничения
  • 2 ≤ len(word) ≤ 300
  • word состоит из заглавных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяПодходит ли строка под шаблон СложнаяПеретасовка разрезами СложнаяСколькими способами вычеркнуть Сложная
загружаем Python…
Вход
word="BOAT"
Ожидается
3

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