Вопрос:

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

Фотография

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

1. `fill_cell` (закрасить начальную клетку) 2. `move_right` (переместиться вправо) 3. `fill_cell` (закрасить клетку) 4. `move_down` (переместиться вниз) 5. `fill_cell` (закрасить клетку) 6. `move_left` (переместиться влево) 7. `fill_cell` (закрасить клетку) **Объяснение:** Робот начинает в левой верхней клетке. Стенка неизвестна, но она горизонтальная и занимает одну клетку. Это значит, что стенка может быть либо между верхними клетками, либо между нижними клетками. Чтобы закрасить все клетки независимо от положения стенки, нужно: * Закрасить начальную клетку. * Переместиться вправо и закрасить вторую верхнюю клетку. * Переместиться вниз, чтобы оказаться в нижней правой клетке, и закрасить её. * Переместиться влево, чтобы оказаться в нижней левой клетке, и закрасить её. Такая последовательность действий гарантирует закрашивание всех 4 клеток квадрата 2x2, независимо от расположения одной горизонтальной стенки. Робот остановится в левой нижней клетке, что соответствует условию.

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

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