Вопрос:

Робот находится в правой верхней клетке прямоугольника 2x15. Робот должен покрасить все клетки верхнего ряда, у которых есть хотя бы одна вертикальная стенка. Остановиться нужно в левой нижней клетке прямоугольника.

Фотография

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

Для решения этой задачи нужно составить алгоритм для Робота, который позволит ему пройти по верхнему ряду, проверяя наличие стенок, и вернуться в левую нижнюю клетку. Поле имеет размер $2 \times 15$. **Алгоритм:** 1. Пока **слева свободно**: * Если **сверху стенка** ИЛИ **снизу стенка** (проверка наличия вертикальной перегородки в текущей клетке): * **Закрасить** * **Влево** 2. (После выхода из цикла Робот стоит в верхней левой клетке. Нужно проверить последнюю клетку): * Если **сверху стенка** ИЛИ **снизу стенка**: * **Закрасить** 3. **Вниз** **Пояснение:** Так как Робот начинает в правой верхней клетке и должен закрасить клетки, где есть вертикальные стенки (примыкающие к верхней стороне), мы ведем его влево до упора. В каждой клетке мы используем логическое условие для проверки наличия стенки. В конце перемещаем Робота на одну клетку вниз, чтобы он оказался в левой нижней клетке, как того требует условие.

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

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