Description

<!doctype html>



Python班2020認證考 - Game of Life

Game of Life


題目敘述


此題要你模擬康威生命遊戲,詳細介紹以及酷炫動畫請進維基頁面查看。以下敘述一些本題會用到的重要規則:



  • 每個細胞有兩種狀態 - 存活或死亡,每個細胞與以自身為中心的周圍八格細胞產生互動(如圖,黑色為存活,白色為死亡)

  • 當前細胞為存活狀態時,當周圍的存活細胞低於2個時(不包含2個),該細胞變成死亡狀態。(模擬生命數量稀少)

  • 當前細胞為存活狀態時,當周圍有2個或3個存活細胞時,該細胞保持原樣。

  • 當前細胞為存活狀態時,當周圍有超過3個存活細胞時,該細胞變成死亡狀態。(模擬生命數量過多)

  • 當前細胞為死亡狀態時,當周圍有3個存活細胞時,該細胞變成存活狀態。(模擬繁殖)

可以將規則歸納至以下三條:



  • 活細胞周圍有2個或者3個存活細胞,則該細胞保持存活

  • 死細胞周圍有3個存活細胞時會復活

  • 其餘狀況,活細胞會死掉,死細胞依然是死的

現在給你一個初始的盤面資訊還有一些詢問,對於第$i$筆詢問請輸出初始盤面演化$a_i$個世代後的盤面


輸入


第一行包含兩個數字$N, M$,代表盤面的長與寬


接下來會有一串輸入代表初始盤面,以$N \times M$的0, 1陣列表示,0代表死細胞,1代表活細胞,字元之間以空格分隔


下一行有一個數字$L$,代表詢問的個數


接下來$L$行,每行有一個數字$a_i$,詢問$a_i$個世代後的盤面


輸出


對每筆詢問$a_i$,輸出:


ai:
ai個世代後的盤面

詳見範例輸出


範圍


Group 0 (20%)


兩筆範例測資


Group 1 (50%)



  • $0 \lt N, M \lt 30$

  • $L = 1$

  • $0 \lt a_i \lt 50$

Group 2 (30%)



  • $0 \lt N, M \lt 30$

  • $0 \lt L \lt 15$

  • $0 \lt a_i \lt 15$

Group 3 (BONUS!!) (50%)



  • $0 \lt N, M \lt 30$

  • $0 \lt L \lt 300$

  • $0 \lt a_i \lt 300$

 


範例輸入輸出


範例輸入1


5 5
0 0 0 0 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 0 0 0 0
1
1

範例輸出1


1:
0 0 0 0 0
0 0 0 0 0
0 1 1 1 0
0 0 0 0 0
0 0 0 0 0

範例輸入2


5 7
0 0 1 0 0 0 0
1 0 1 0 0 1 0
0 1 1 0 0 1 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
3
1
3
2

範例輸出2


1:
0 1 0 0 0 0 0
0 0 1 1 0 1 1
0 1 1 0 0 1 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
3:
0 0 0 1 1 1 0
0 1 0 0 0 0 1
0 0 1 0 0 0 1
0 0 1 1 1 1 0
0 0 0 0 0 0 0
2:
0 0 1 0 0 0 0
0 0 0 1 1 1 1
0 1 1 1 1 1 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0

 



Input Format

Output Format

Hints

Problem Source

NEOJ Problem 3024

Subtasks

No. Testdata Range Constraints Score
1 0 10
2 1 10
3 2 10
4 3 10
5 4 10
6 5 10
7 6 10
8 7 10
9 8 10
10 9 10
11 10 10
12 11 10
13 12 10
14 13 10
15 14 10

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 2000 65536 65536 1
1 2000 65536 65536 2
2 2000 65536 65536 3
3 2000 65536 65536 4
4 2000 65536 65536 5
5 2000 65536 65536 6
6 2000 65536 65536 7
7 2000 65536 65536 8
8 2000 65536 65536 9
9 2000 65536 65536 10
10 2000 65536 65536 11
11 2000 65536 65536 12
12 2000 65536 65536 13
13 2000 65536 65536 14
14 2000 65536 65536 15