#include<stdio.h>
int N, M;
int visited[20] = {0};
int G[20][20];
int edge = 0;
void DFS(int i)
{
if(visited[i] != 0) return;
else
{
visited[i] = 1;
for(int j = 1; j <= N; j ++)
if(G[i][j] == 1 && visited[j] == 0)
DFS(j), edge ++;
}
}
int main()
{
int i, v1, v2;
scanf("%d%d", &N, &M);
for(i = 1; i <= M; i ++)
{
scanf("%d%d", &v1, &v2);
G[v1][v2] = G[v2][v1] = 1;
}
DFS(1);
if(edge == M) printf("Yes.");
else printf("No.");
return 0;
}
[图]深搜判断图的连通性
最新推荐文章于 2023-09-10 13:02:39 发布