Q2: Conway's Game of Life

作業資訊

題目敘述

康威生命遊戲是用一個矩陣代表世界,而矩陣的每個元素代表一個活著或死亡的細胞。每個細胞在下一時刻的生死,取決於相鄰細胞的狀態:例如若相鄰的活細胞過多,則這個細胞或在下一刻因缺乏資源而死去活來;而若相鄰的細胞過少,則這個細胞又會因為太過孤獨而死去。在本題中,設定的規則如下: 請你撰寫一個函式 get_next,輸入為這一時刻的矩陣,輸出為下一時刻的矩陣。矩陣皆應以 numpy array 的形式傳遞。

輸入說明

一個 numpy array,元素只有 0 或 1 兩種,0 代表死細胞,1 代表活細胞。矩陣固定為二維,row 和 column 的數目皆為正整數。

輸出說明

同輸入說明。

Sample Input

[[0 1 1 0]
 [1 1 0 0]
 [0 1 0 0]
 [0 0 0 1]
 [0 0 1 0]]

Sample Output

[[1 1 1 0]
 [1 0 0 0]
 [1 1 1 0]
 [0 0 1 0]
 [0 0 0 0]]

提示與注意事項