Вопрос:

Задача № 3 Робот в крайней левой клетке горизонтального коридора. В каждой клетке могут быть проходы вверх, вниз или в обоих направлениях. Робот должен закрасить те клетки, в которых есть только один проход, и остановиться в крайней правой клетке коридора.

Задача № 3 Робот в крайней левой клетке горизонтального коридора. В каждой клетке могут быть проходы вверх, вниз или в обоих направлениях. Робот должен закрасить те клетки, в которых есть только один проход, и остановиться в крайней правой клетке коридора.
Фотография

Ответ ассистента

Для решения задачи робот должен пройти по всему коридору слева направо. В каждой клетке он проверяет наличие проходов. Если в клетке есть ровно один проход (либо только сверху, либо только снизу), робот закрашивает эту клетку. Робот останавливается, когда упирается в правую стену. ```python while not wall_from_right(): # Проверяем условия: проход только сверху ИЛИ только снизу # Вариант 1: Сверху свободно, снизу стена if free_from_up() and wall_from_down(): fill_cell() # Вариант 2: Сверху стена, снизу свободно elif wall_from_up() and free_from_down(): fill_cell() # Переходим в следующую клетку move_right() # Проверка последней (крайней правой) клетки после выхода из цикла if (free_from_up() and wall_from_down()) or (wall_from_up() and free_from_down()): fill_cell() ```

Другие решения

Что ещё задавали пользователи