B - 埋め立て
Editorial
/


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

入力例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