切換
舊版
前往
大廳
主題

ZeroJudge - e838: P5. 炸彈超人(Bombs) 解題心得

Not In My Back Yard | 2020-03-18 00:03:18 | 巴幣 0 | 人氣 270

題目連結:


題目大意:
第一列給定一正整數 n (1 ≦ n ≦ 100),代表有 n × n 的地圖。接著有 n 列輸入,每列給定 n 個字元,代表這個地圖的內容。 「0」代表安全地帶、「*」代表這個地方被放置了炸彈(不安全)。

而炸彈會波及到該炸彈所在的列以及行。請依據此規則將所有安全地帶以「0」標記、不安全地帶以「*」標記後輸出。輸出格式參見範例輸出。



範例輸入:
範例輸入一:
4
0000
0*00
0000
0000

範例輸入二:
7
0*00000
0000000
000*000
*0**000
0000000
0*00000
0000000


範例輸出:
範例輸出一:
0*00
****
0*00
0*00

範例輸出二:
*******
****000
*******
*******
****000
*******
****000


解題思維:
不需要存下所有炸彈的位置,也不需要存整張地圖的資訊。只需要用兩個布林值陣列,一個代表哪幾列有炸彈(數量不重要)、哪幾行有炸彈。

掃過一次輸入的地圖後,就可以根據陣列的資訊輸出即可。判斷每個位置,該列有無炸彈或該行有無炸彈。有就輸出「*」;反之,輸出「0」。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作