#3683. 3-邻接矩阵-无向图-连通图

3-邻接矩阵-无向图-连通图

题目描述

给定一个无向图的邻接矩阵,判断该图是否是连通图。如果是连通图,输出 yes,否则输出 no

输入格式

• 第一行输入两个整数 nnmm,表示顶点数和边数(实际边数由邻接矩阵确定)。 • 接下来输入一个 n×nn \times n 的邻接矩阵,其中 A[i][j]=1A[i][j] = 1 表示顶点 iijj 之间有边,否则为 00。 • 注意:邻接矩阵是对称的,因为是无向图。

输出格式

• 输出一行,如果是连通图则输出 yes,否则输出 no


样例输入 1(连通图)

4 3
0 1 0 0
1 0 1 0
0 1 0 1
0 0 1 0

样例输出 1

yes

样例输入 2(非连通图)

4 2
0 1 0 0
1 0 0 0
0 0 0 1
0 0 1 0

样例输出 2

no

代码说明

  1. DFS遍历:从顶点 0 开始深度优先搜索,标记所有可达顶点。
  2. 连通性判断:检查所有顶点是否被访问过。若存在未访问顶点,则图不连通。
  3. 输入处理:直接读取邻接矩阵,无需关注边数 mm(由邻接矩阵隐含确定)。

测试用例 1 的邻接矩阵描述的图是连通的(顶点 0-1-2-3 形成链式结构),测试用例 2 的图分为两段(0-1 和 2-3 互不相连),因此输出结果分别为 yesno