Задача 5: Возвращение робота в исходное состояние

Напишите определение функции judge_circle(moves), которая принимает строку moves (последовательность движений робота) и возвращает логическое значение: True, если робот возвращается в точку (0, 0), иначе False.


На плоскости робот начинает движение из точки (0, 0), которая является начальной позицией. Дана строка moves, представляющая последовательность движений робота, где каждый символ описывает одно движение:

  • 'R' — шаг вправо,
  • 'L' — шаг влево,
  • 'U' — шаг вверх,
  • 'D' — шаг вниз.

Необходимо определить, возвращается ли робот в точку (0, 0) после выполнения всех движений.


Обозначения для лучшего разбора:

  • Исходная позиция робота (0, 0) обозначается символом 'O'.
  • Каждое движение вправо ('R'), влево ('L'), вверх ('U') или вниз ('D') изменяет координаты робота.
  • Следующие примеры демонстрируют путь робота с помощью символов:
    • . — свободная клетка,
    • 'O' — начальная позиция,
    • 'X' — конечная позиция после всех движений.

Примеры:

Пример 1:
Ввод: moves = "UD"
Путь робота:

. . .
. O .
. . .

Робот движется:

  1. Вверх ('U'):
. O .
. . .
. . .
  1. Вниз ('D'):
. . .
. O .
. . .

Вывод: True
Пояснение: Робот возвращается в исходную точку (0, 0).


Пример 2:
Ввод: moves = "LL"
Путь робота:

. . .
. O .
. . .

Робот движется:

  1. Влево ('L'):
. . .
O . .
. . .
  1. Влево ('L'):
. . .
X . .
. . .

Вывод: False
Пояснение: Робот заканчивает движение в точке (-2, 0) и не возвращается в начальную позицию.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии