[ARC031B] 埋め立て

题意翻译

## 题目描述 很久很久以前,某地曾有一个岛国。这个岛国由一些岛屿组成。现在,这个岛国决定填海造陆,但还没有决定填海造陆的位置。政府希望填海造陆工程能够将所有岛屿连接起来,成为一个岛屿。 给出 $10$ 格 $×10$ 格的该国地图,请判断:能否仅将一格海洋变成陆地,使该国所有岛屿连接成一个岛屿。另外,地图中表示陆地的格子上下左右互相连接的区域称为一个岛屿。 ## 输入输出格式 ### 输入格式: 输入按以下形式: $$ A_{1,1} \space A_{1,2} \space \dots \space A_{1,10} $$ $$ A_{2,1} \space A_{2,2} \space \dots \space A_{2,10} $$ $$ : $$ $$ A_{10,1} \space A_{10,2} \space \dots \space A_{10,10} $$ - 岛国的地图一定为 $10$ 行。 - 每行一定由 $10$ 个字符组成,每个字符为 'o'(表示陆地)或 'x'(表示海洋) - 保证至少有一格为陆地。 - 保证至少有一格为海洋。 ### 输出格式: 如果能将 $1$ 个格子的海洋变成陆地使得整个岛国只含一个岛屿,则输出'YES',否则输出'NO'。输出结尾请换行。 (如果本来就只有一个岛,也输出'YES') ## 样例1解释 将红色方框处的格子变成陆地,就能将两个岛屿合并为一个。 ![](https://arc031.contest.atcoder.jp/img/arc/031/2-1.png)

题目描述

[problemUrl]: https://atcoder.jp/contests/arc031/tasks/arc031_2 とある所に島国がありました。島国にはいくつかの島があります。このたび、この島国で埋め立て計画が立案されたのですが、どこを埋め立てるか決まっていません。できることなら埋め立てによって島を繋いで、$ 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

输入样例 #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