#arc0312. [arc031_2]埋め立て
[arc031_2]埋め立て
問題文
とある所に島国がありました。島国にはいくつかの島があります。このたび、この島国で埋め立て計画が立案されたのですが、どこを埋め立てるか決まっていません。できることなら埋め立てによって島を繋いで、 つの島にしてしまいたいのですが、たくさん埋め立てるわけにもいきません。 マス × マスのこの島国の地図が与えられるので、 マスを埋め立てた時に つの島にできるか判定してください。ただし、地図で陸地を表すマスが上下左右につながっている領域のことを島と呼びます。
入力
入力は以下の形式で標準入力から与えられる。
... ... : ...
- 島国の地図が 行にわたって与えられる。
- 各行は 文字からなり、
o
は陸地を、x
は海を表す。 - 少なくとも マスは陸地があることが保証される。
- 少なくとも マスは海があることが保証される。
出力
海を マスだけ陸地にすることで全体を つの島にできるなら YES
、できないなら NO
を出力せよ。出力の末尾には改行をつけること。ただし、元から つの島だった場合も YES
を出力せよ。
入力例1
xxxxxxxxxx
xoooooooxx
xxoooooxxx
xxxoooxxxx
xxxxoxxxxx
xxxxxxxxxx
xxxxoxxxxx
xxxoooxxxx
xxoooooxxx
xxxxxxxxxx
出力例1
YES
赤く囲ったマスを埋め立てることで つの島にできます。
入力例2
xxxxxxxxxx
xoooooooxx
xxoooooxxx
xxxoooxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxoooxxxx
xxoooooxxx
xxxxxxxxxx
出力例2
NO
入力例3
xxxxoxxxxx
xxxxoxxxxx
xxxxoxxxxx
xxxxoxxxxx
ooooxooooo
xxxxoxxxxx
xxxxoxxxxx
xxxxoxxxxx
xxxxoxxxxx
xxxxoxxxxx
出力例3
YES