Вопрос:

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

Фотография

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

Допущение: Отмеченные клетки — это все клетки, кроме той, где находится стена. Робот должен оказаться в нижней правой клетке, независимо от её состояния (покрашена или нет). Нам нужно переместить робота в правую нижнюю клетку квадрата 2х2. Так как квадрат 2х2, то всего 4 клетки. В квадрате есть одна вертикальная стена высотой в одну клетку. Это значит, что либо стена находится слева, либо справа от текущей клетки. ```python # Перемещаем робота в нижнюю правую клетку и закрашиваем все клетки, кроме той, что за стеной. # Если робот в верхней левой клетке if wall_from_right(): # Стена справа (между верхней левой и верхней правой) move_down() fill_cell() move_right() fill_cell() move_up() fill_cell() move_right() # Робот в нижней правой клетке elif wall_from_left(): # Стена слева (между верхней левой и верхней правой) fill_cell() move_right() fill_cell() move_down() fill_cell() move_right() # Робот в нижней правой клетке elif wall_from_down(): # Стена снизу (между верхней левой и нижней левой) fill_cell() move_right() fill_cell() move_down() # Робот в нижней правой клетке # Если робот в верхней правой клетке elif wall_from_left(): # Стена слева (между верхней правой и верхней левой) move_down() fill_cell() move_left() fill_cell() move_up() fill_cell() move_right() # Робот в нижней правой клетке elif wall_from_right(): # Стена справа (между верхней правой и верхней левой) fill_cell() move_down() fill_cell() move_left() fill_cell() move_right() # Робот в нижней правой клетке elif wall_from_down(): # Стена снизу (между верхней правой и нижней правой) fill_cell() move_left() fill_cell() move_down() # Робот в нижней правой клетке # Если робот в нижней левой клетке elif wall_from_right(): # Стена справа (между нижней левой и нижней правой) move_up() fill_cell() move_right() fill_cell() move_down() fill_cell() move_right() # Робот в нижней правой клетке elif wall_from_left(): # Стена слева (между нижней левой и нижней правой) fill_cell() move_right() fill_cell() move_up() fill_cell() move_right() # Робот в нижней правой клетке elif wall_from_up(): # Стена сверху (между нижней левой и верхней левой) fill_cell() move_right() fill_cell() move_up() fill_cell() move_right() # Робот в нижней правой клетке # Если робот в нижней правой клетке elif wall_from_left(): # Стена слева (между нижней правой и нижней левой) move_up() fill_cell() move_left() fill_cell() move_down() fill_cell() # Робот в нижней правой клетке elif wall_from_right(): # Стена справа (между нижней правой и нижней левой) fill_cell() move_left() fill_cell() move_up() fill_cell() # Робот в нижней правой клетке elif wall_from_up(): # Стена сверху (между нижней правой и верхней правой) fill_cell() move_left() fill_cell() move_up() fill_cell() # Робот в нижней правой клетке ```

Похожие задачи

Посмотри похожие решения — вдруг одно из них подойдёт тебе

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

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