TopCoder

User's AC Ratio

100.0% (3/3)

Submission's AC Ratio

100.0% (3/3)

Tags

Description

在深海底中,有一大片深海平原,平原上住著許多生物
生物學家發現,可以將平原劃分成細小的方格,每一個方格上面最多只能有一個浮游生物
每一方格上的生物生存與否,與相鄰的 8 格方格點息息相關
以下是生物學家經過數十年的觀察與歸納發現的規則:
若該方格上有浮游生物:

  • 少於兩個鄰居,則一小時後會因孤單而死
  • 恰有兩個/三個鄰居,則繼續生存下去
  • 多於三個鄰居,則一小時後會太擁擠而死亡

若一個方格點上沒有浮游:

  • 若恰有三個鄰居有活著的浮游生物,則一小時後該格會長出一隻浮游生物

生物學家對於整理出這幾條生命的規則感到驕傲,但若想知道一大段時間之後的生物分佈情況就需要借助電腦來模擬了!

註:每ㄧ格的演變都是同時進行,某一格的第 $t+1$ 小時狀態只需考慮某一格鄰居們在第 $t$ 小時的狀態。
註:只需關注這 $n \times n$ 的範圍即可,可以假設範圍之外是無止盡的深淵

Input Format

輸入有 $n+1$ 行,第一行包含兩個以單一空格隔開的整數 $1\le n<100,0\le r< 1000$,分別代表該深海平原一邊有 $n$ 格方格,以及希望得到 $r$ 小時後的生物分佈情況。

Output Format

輸出 $n$ 行,每一行有 $n$ 個數字(0 或 1),以單個空格分開,結尾不用空格並且需要換行。

Sample Input 1

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

Sample Output 1

0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0

Sample Input 2

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

Sample Output 2

0 1 1 1 0
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
0 1 1 1 0

Hints

Problem Source

Judgegirl

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 2~5 $1\le n\le 30, r = 1$ 10
3 2~12 $1\le n\le 30,0\le r\le 10$ 40
4 0~21 無額外限制 50

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 4
1 1000 524288 65536 1 4
2 1000 524288 65536 2 3 4
3 1000 524288 65536 2 3 4
4 1000 524288 65536 2 3 4
5 1000 524288 65536 2 3 4
6 1000 524288 65536 3 4
7 1000 524288 65536 3 4
8 1000 524288 65536 3 4
9 1000 524288 65536 3 4
10 1000 524288 65536 3 4
11 1000 524288 65536 3 4
12 1000 524288 65536 3 4
13 1000 524288 65536 4
14 1000 524288 65536 4
15 1000 524288 65536 4
16 1000 524288 65536 4
17 1000 524288 65536 4
18 1000 524288 65536 4
19 1000 524288 65536 4
20 1000 524288 65536 4
21 1000 524288 65536 4