给出一个矩阵,判断矩阵内的字母能否成环
INPUT:
第一行2个整数n,m(n,m<50) 表示矩阵的行列
下面n行 给出字母矩阵
OUTPUT:
有环输出Yes,否则输出No
案例输入1:
3 4
AAAA
ABCA
AAAA案例输出1:
Yes
案例输入2:
3 4
AAAA
ABCA
AADA案例输出2:
No
案例输入3:
4 4
YYYR
BYBY
BBBY
BBBY案例输出3:
Yes (4/6个B字母能成一个环)
基本思想:
遍历每个字母, 沿着字母走,走过的标记一下,如走到标记过的字母,则表示能成环;
易错:回头的处理, 走的下一步 一定不能是上一步的位置
代码如下:
#include <bits/stdc++.h>
using namespace std;
const int MAX=52;
char a[MAX][MAX];
int vis[MAX][MAX]; //用作标记的二维数组
int n,m;
int dx[]={

该博客讨论了如何使用深度优先搜索(DFS)来判断一个给定的字母矩阵中是否存在环。通过遍历矩阵并标记已访问的元素,当遇到已标记的元素时,表示存在环。文章提供了一些示例输入和输出,并强调了处理回头路径时的注意事项。
最低0.47元/天 解锁文章
6454

被折叠的 条评论
为什么被折叠?



