Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 15: Игра в жизнь
Напишите определение функции gameOfLife, которая принимает матрицу board размера m x n. Эта матрица представляет текущую конфигурацию клеточного автомата "Игра Жизнь". Каждая клетка может находиться в одном из двух состояний: живая (обозначается как 1) или мёртвая (обозначается как 0). Функция должна обновить матрицу board в соответствии с правилами игры, чтобы она отразила её следующее состояние. Возвращать ничего не нужно.
Матрица board обновляется по следующим правилам:
- Любая живая клетка с менее чем двумя живыми соседями умирает (как при недостатке населения).
- Любая живая клетка с двумя или тремя живыми соседями остаётся живой для следующего поколения.
- Любая живая клетка с более чем тремя живыми соседями умирает (как при перенаселении).
- Любая мёртвая клетка с ровно тремя живыми соседями становится живой (как при размножении).
Соседи клетки — это восемь клеток, прилегающих к ней по горизонтали, вертикали и диагонали.
Примеры
Пример 1:
Ввод:
board = [[0, 1, 0],
[0, 0, 1],
[1, 1, 1],
[0, 0, 0]]
Вывод:
[[0, 0, 0],
[1, 0, 1],
[0, 1, 1],
[0, 1, 0]]
Пример 2:
Ввод:
board = [[1, 1],
[1, 0]]Вывод:
[[1, 1],
[1, 1]]
Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии