[Problem 4] 計算炸彈數
成績: 0 / 倒扣: 0.8
問題描述 :
模擬踩地雷遊戲,計算出周圍炸彈數量。
輸入一個二維陣列,每一格用 0 與 1 代表是否為炸彈, 0 代表該格不為炸彈, 1 代表該格為炸彈
例如:
上述表格代表
炸彈: (1,1), (1,3),(1,4), (2,1), (3,1), (3,2), (3,4), (4,2), (4,3)
非炸彈: (1,2), (2,2), (2,3), (2,4), (3,3), (4,1), (4,4)
請找出非炸彈的格子中周圍八格有幾顆炸彈。
上述表格 x 的值應為 5
若 x 本身就是代表一顆炸彈,則值應為 0
輸入說明 :
5
1 0 0 1 1
0 1 0 1 0
1 0 1 0 1
0 0 0 1 0
0 1 1 1 0
5 代表陣列大小 ( 最大為 9 ,最小為 3) ,之後為每一格的值
輸出說明 :
依序輸出,中間以空白隔開,最後 必須有換行字元 。
範例 :
模擬踩地雷遊戲,計算出周圍炸彈數量。
輸入一個二維陣列,每一格用 0 與 1 代表是否為炸彈, 0 代表該格不為炸彈, 1 代表該格為炸彈
例如:
1 | 2 | 3 | 4 | |
1 | 1 | 0 | 1 | 1 |
2 | 1 | 0 | 0 | 0 |
3 | 1 | 1 | 0 | 1 |
4 | 0 | 1 | 1 | 0 |
炸彈: (1,1), (1,3),(1,4), (2,1), (3,1), (3,2), (3,4), (4,2), (4,3)
非炸彈: (1,2), (2,2), (2,3), (2,4), (3,3), (4,1), (4,4)
請找出非炸彈的格子中周圍八格有幾顆炸彈。
1 | 1 | 0 |
0 | x | 1 |
1 | 1 | 0 |
若 x 本身就是代表一顆炸彈,則值應為 0
輸入說明 :
5
1 0 0 1 1
0 1 0 1 0
1 0 1 0 1
0 0 0 1 0
0 1 1 1 0
5 代表陣列大小 ( 最大為 9 ,最小為 3) ,之後為每一格的值
輸出說明 :
依序輸出,中間以空白隔開,最後 必須有換行字元 。
範例 :
輸入範例 | 輸出範例 |
5 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 | 0 2 3 0 0 3 0 4 0 4 0 3 0 4 0 2 4 5 0 3 1 0 0 0 2 |
解法:
因為炸彈是1 ,因此我們可以先判斷是否為炸彈,若是炸彈則輸出0,其餘的就將它四周的值加起來(因為炸彈是1,所以全加起來就知道數目)。
但邊界問題要小心,可以將測資用1~N存 邊界都設0
這樣就不用判斷邊界了 ^&^
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。