Чтобы точно ответить, нужно узнать, какую именно среду/язык вы используете (API робота: какие функции доступны). Ниже приведу несколько распространённых вариантов и готовые шаблоны. Сообщите, какой из них подходит, или дайте ваши названия функций, и я адаптирую код.
Вариант 1. API даёт методы для соседних клеток и их свойств
- left_of(pos) и right_of(pos) — соседи слева и справа
- has_wall_on_top(cell) — есть ли стена сверху данной клетки
- paint() — закрашивает текущую клетку
Python-подобный шаблон: def step(pos): left = left_of(pos) right = right_of(pos) if has_wall_on_top(left) and has_wall_on_top(right): paint()
Вариант 2. API даёт флаги для стен вокруг текущей клетки
- is_wall_left(), is_wall_right(), is_wall_above()
- paint()
Python-подобный шаблон: def step(): if is_wall_left() and is_wall_right() and is_wall_above(): paint()
Обозначение условий по вашему тексту:
- Условия: «у клетки слева и у клетки справа есть стена сверху» — обычно именно так понимают: стена над левой клеткой и стена над правой клеткой.
- Если же вы имели в виду “стены слева и справа самой текущей клетки”, измените условие соответственно, например: if is_wall_left() and is_wall_right() and is_wall_above(): paint()
Уточните, пожалуйста:
- Какой язык/среду вы используете (Python, Java, C++, Stepik/Stepik-робот, другая платформа)?
- Какие функции доступны в вашей задаче (названия функций/методов для проверки стен и закрашивания)?
С учетом вашего ответа я дам точный, копируемый код под вашу среду.