5710: 两点
[Creator : ]
Description
福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个 $n×m$ 单元上玩的。像这样:
每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。
这个游戏的关键是要找出一个包含同一颜色的环。看上图中 $4$ 个蓝点,形成了一个环。
一般的,我们将一个序列 $d_1,\ d_2,\ \dots,\ d_k$ 看成一个环,当且仅当它符合下列条件时:
1. 这 $k$ 个点不一样,即当 $i≠j$ 时,$d_i$ 和 $d_j$ 不同。
2. $k$ 至少是 $4$。
3. 所有的点是同一种颜色。
4. 对于所有的 $1≤i≤k-1\ :\ d_i$ 和 $d_{i+1}$ 是相邻的。还有 $d_k$ 和 $d_1$ 也应该相邻。单元 $x$ 和单元 $y$ 是相邻的当且仅当他们有公共边。
当给出一幅格点时,请确定里面是否有环。
每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。
这个游戏的关键是要找出一个包含同一颜色的环。看上图中 $4$ 个蓝点,形成了一个环。
一般的,我们将一个序列 $d_1,\ d_2,\ \dots,\ d_k$ 看成一个环,当且仅当它符合下列条件时:
1. 这 $k$ 个点不一样,即当 $i≠j$ 时,$d_i$ 和 $d_j$ 不同。
2. $k$ 至少是 $4$。
3. 所有的点是同一种颜色。
4. 对于所有的 $1≤i≤k-1\ :\ d_i$ 和 $d_{i+1}$ 是相邻的。还有 $d_k$ 和 $d_1$ 也应该相邻。单元 $x$ 和单元 $y$ 是相邻的当且仅当他们有公共边。
当给出一幅格点时,请确定里面是否有环。
Input
多组测试数据。
对于每个测试数据。第一行包含两个整数 $n,\ m\ (2≤n,\ m≤50)$,分别表示板子的行和列。
接下来 $n$ 行,每行包含一个有 $m$ 个字母的串,表示当前行每一个点的颜色。每一个字母都是大写字母。
对于每个测试数据。第一行包含两个整数 $n,\ m\ (2≤n,\ m≤50)$,分别表示板子的行和列。
接下来 $n$ 行,每行包含一个有 $m$ 个字母的串,表示当前行每一个点的颜色。每一个字母都是大写字母。
Output
如果有环输出 ${Yes}$,否则输出 ${No}$。
Sample 1 Input
3 4
AAAA
ABCA
AAAA
3 4
AAAA
ABCA
AADA
Sample 1 Output
Yes
No