Ctrl K

Кратчайшая программа для робота на рельсе

Сложная
Робот стоит на бесконечном рельсе в точке 0 и смотрит в положительную сторону со скоростью +1. Он может уезжать и в отрицательные координаты. Робот выполняет программу — строку из команд двух видов: - F (вперёд): позиция увеличивается на текущую скорость, после чего скорость удваивается; - T (развернуться): если скорость положительная, она становится -1, иначе становится +1. Позиция не меняется. Например, по программе FFT робот проходит позиции 0 → 1 → 3 → 3, а скорость меняется 1 → 2 → 4 → -1. Верните длину самой короткой программы, после которой робот окажется в точке goal.
Пример 1
goal=7 → 3

Программа FFF: позиции 0 → 1 → 3 → 7.

Пример 2
goal=5 → 7

Например, FFTFTFF: 0 → 1 → 3, разворот, 3 → 2, разворот, 2 → 3 → 5. Короче не получится.

Пример 3
goal=2 → 4
Ограничения
  • 1 ≤ goal ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяВода между стенами СложнаяПодходит ли строка под шаблон СложнаяСамый большой горящий блок Сложная
загружаем Python…
Вход
goal=7
Ожидается
3

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