44. Minesweeper (CPE10418, UVA10189) - CPE一顆星解答與說明
CPE一顆星49題解答 - pdf 電子檔,售價 199 元,
購買電子檔可將筆記與完整解答帶著走,
坐車、上課時皆可隨時複習,
不受網路或廣告影響,
若有需要請來信購買 greens2314@gmail.com
題目
輸入說明
- 資料有多筆
- 第一行
- 地圖格子行數(可視為高度) n
- 地圖格子欄數(可視為寬度) m
- 有 n 行
- 有 m 個字元代表格子中的資料
- * 號:地雷
- . 號:安全的地點
- 如果 n 與 m 為 0 則結束計算
輸出說明
- 印出每筆測資的編號
- 將 . 號(安全的位置) 改印出地雷的數量
- 資料之間要以空行隔開
解題技巧
- 二維陣列
- 索引位置
- 字元判斷
解題過程
取得輸入
- 使用 while 偵測是否有輸入
- 取得地圖高度與寬度
- 判斷高度與寬度是否等於 0 ,若等於 0 則呼叫 break 結束計算
- 使用 for 迴圈根據高度讀取多筆字串
- 使用 for 迴圈根據寬度讀取字串中的每一個字元,呼叫 String 提供的 charAt() 方法
準備統計地雷數量
印出編號與特殊換行
- 宣告 caseNumber 變數用來統計測試資料的編號
- 當測試資料不是第一筆時,要多印一空白行
- 印出編號
印出地雷數量
- 逐一讀取高度與寬度位置,準備讀取二維陣列內的地雷數量
- 使用 for 迴圈根據高度,逐一讀取高度位置
- 使用 for 迴圈根據寬度,逐一讀取寬度位置
- 判斷數量是否大於 8
- 若大於 8 表示為地雷,印出星號
- 若小於 8 印出此位置的周圍含有的地雷數量
解答/答案/註解/程式碼/JAVA
解答最外層請自行 import 相關套件與新增 main class
public class main {
//解答
}
留言
張貼留言