Ctrl K

Ровер на повторе

Средняя
Ровер стоит в точке (0, 0) на бесконечной плоскости и смотрит на север (в сторону роста y). В него загружена программа program из команд: - G — проехать на 1 вперёд; - L — повернуть на 90° влево (против часовой стрелки); - R — повернуть на 90° вправо (по часовой стрелке). Ровер выполняет программу и, дойдя до конца, сразу начинает её заново — и так бесконечно. Верните True, если весь путь ровера помещается в некоторый круг на плоскости (ровер никогда не уезжает сколь угодно далеко), иначе False.
Пример 1
program='GRG' → True

После одного прогона ровер в (1, 1) и смотрит на восток. Каждый следующий прогон поворачивает путь ещё на 90°, и через четыре прогона ровер снова в начале — он ходит по квадрату.

Пример 2
program='GLRG' → False

Повороты гасят друг друга: ровер снова смотрит на север, но сдвинулся на 2 клетки. Каждый прогон уводит его ещё дальше.

Пример 3
program='GGRR' → True

Ровер проходит 2 клетки и разворачивается; второй прогон возвращает его в начало.

Ограничения
  • 1 ≤ len(program) ≤ 100
  • program состоит из символов G, L, R
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиУмножение длинных чисел в строках СредняяПроизведение комплексных чисел в строках СредняяСумма цепочки дробей СредняяНайдите x СредняяСумма двоичных строк Лёгкая
загружаем Python…
Вход
program='GRG'
Ожидается
True

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