Вопрос:

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

Ответ:

Решение:

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

  1. Проверить, свободна ли клетка справа:

    • Если свободна, сделать шаг вправо move_right.
    • Закрасить клетку fill_cell.
    • Сделать шаг вниз move_down.
    • Закрасить клетку fill_cell.

  2. Если клетка справа не свободна (т.е. там стенка):

    • Значит, стенка находится между верхней и нижней клетками.
    • Сделать шаг вниз move_down.
    • Закрасить клетку fill_cell.
    • Сделать шаг вправо move_right.
    • Закрасить клетку fill_cell.

Пример программы:

move_right
fill_cell
move_down
fill_cell

Примечание: Для более точного решения и учёта всех условий, возможно, потребуется использовать проверку free_from_right (если такая команда доступна).

Ответ: Программа должна включать команды движения и закраски, учитывая возможные положения стенки.