Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2908782
А
Аноним
06 марта 2025 16:34 · публичный вопрос
А
Аноним

Задача 4

Ответ нейросети
06 марта 2025 16:34

Для задачи 4 разберёмся с заданными функциями и логикой, которую должен выполнять робот. Давайте посмотрим на функции, которые описаны:

  1. move_left() - сделать шаг влево.
  2. move_right() - сделать шаг вправо.
  3. move_up() - сделать шаг вверх.
  4. move_down() - сделать шаг вниз.
  5. fill_cell() - закрасить клетку.
  6. free_from_up() - проверить наличие стены сверху.

Задача:

Робот находится в одной из клеток квадрата 2×2. В квадрате есть одна горизонтальная стена шириной в одну клетку. Необходимо покрасить оставшиеся клетки и остановить работу.

Решение:

  1. Поиск стены:

    • Поскольку известна только одна функция для проверки стены сверху, начнём с её использования.
    • Робот должен двигаться вверх, пока не встретит стену.
  2. Покраска клеток:

    • Робот может начать заполнять клетки, как только найдёт стену.
  3. Перемещение и закраска:

    • После нахождения стены, робот совершает перемещения по клеткам, чтобы закрасить все.

Пошаговое решение:

# Двигаемся вверх, чтобы найти стену
while not free_from_up():
    move_up()

# Закрашиваем текущую клетку
fill_cell()

# Перемещаемся влево и закрашиваем
move_left()
fill_cell()

# Возвращаемся на исходную позицию
move_right()

# Двигаемся вниз и закрашиваем
move_down()
fill_cell()

# Двигаемся вправо и закрашиваем
move_right()
fill_cell()

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