略譯

原題目連結

給一個 nxn 的地圖,以 . 代表空白,x 代表戰艦或艦身的一部份,
@ 代表已被轟炸到的戰艦或艦身,已知戰艦可以是 1x1 ~ 1x(n/2) 大小,
只能被直放或横放,戰艦互相不可重疊或鄰接。
當一台戰艦每一格都被轟炸過就視為已轟沉,
求存活的戰艦數量

題解

將地圖一一掃過,遇到艦身時往右或往下掃,並將整台戰艦標記為已掃過即可。
已掃過的戰艦就忽略。

注意戰艦已被擊沉時不列入計算。

實作提示

  • 使用字串方式讀入,會比字元等方式寫起來簡潔一些。
  • 對戰艦標記已掃過時,可在地圖上直接標成空地。
    反正地圖在掃過一遍後就不使用了,破壞掉沒什麼影響。