Open1

ARC031_2

こどはざこどはざ

https://atcoder.jp/contests/arc031/tasks/arc031_2

思考順序

  1. 問題の達成条件は上下左右に島がないマスが1つだけかどうか、またそれを埋めたら島になるかを判別する。
  2. 自分が島にいる場合に他に島があるかどうかの判別をどうするか?
 * データを整理する段階で土地 `o` の数をカウントしておく。
 * 島をチェックしながら土地数を数えて行き、行き詰まったときに総土地数と一致していなければ他に島がある。
  1. DFSで見るなら、 arr[0][0] から見て行って最初の土地を見つけたらDFSで掘り下げていく。重複を防ぐため、その過程でチェック済みの土地は . に書き換えておく。


ここまで考えて、処理の過程でそもそも他に島があった場合に繋げられるかどうかのヒントを得られるのかが疑問になった。

逆転の発送で、海から見ていく