НА ЯЗЫКЕ PYTHON Поиграем в игру "Змейка". Змейка ходит по прямоугольному полю и собирает еду. Змейка занимает незамкнутую цепочку клеток. Две соседние клетки змейки имеют одну общую сторону. Еда занимает одну клетку. Змейка ест только своей головой. Съеденная клетка становится частью змейки. Змейка не может выходить за границы поля. Змейка может находиться на любой клетке, если это не запрещено перечисленными выше условиями.

На вход подается прямоугольное поле: количество строк (до 100) и количество столбцов (до 100), за ними по строкам подаются числа 0, 1, 2, 3. 0 означает, что в текущей клетке нет еды и нет змейки. 1 означает, что в текущей клетке находится еда и нет змейки. 2 или 3 означает, что в текущей клетке находится змейка. 3 означает, что в клетке находится голова змейки.

Программа должна составить действия змейки, чтобы та съела всю еду, или определить, что съесть всю еду нельзя. Условимся, что клетка поля с минимальными координатами находится сверху слева, а клетка поля с максимальными координатами находится снизу справа. Тогда действие 0 означает движение головы на соседнюю клетку сверху, действие 1 означает движение головы на соседнюю клетку слева, действие 2 означает движение головы на соседнюю клетку внизу, действие 3 означает движение головы на соседнюю клетку справа. Голова может переместиться только на пустую клетку или клетку с едой.

Fарантируется что по исходным данным положение змейки определяется однозначно

Программа печатает последовательность чисел 0, 1, 2, 3, если можно съесть всю еду, и -1 иначе.

1pashnett 1pashnett    3   06.11.2020 11:24    3

Другие вопросы по теме Информатика