当前位置:主页 > 软件编程 > C代码 >

判断一个无向图是否为连通图的方法

时间:2022-06-05 11:19:27 | 栏目:C代码 | 点击:

无向图的连通性

判断一个无向图是否为连通图。输入为无向图的邻接矩阵。

输入

输出

测试输入

3
1 1 1
1 1 1
1 1 1

测试输出

yes

源代码

#include<stdio.h> 
#define N 3002 
int a[N][N]; 
int main() 
{ 
  int i,j,k,n; 
  scanf("%d\n",&n); 
  for(i=0;i<n;i++) 
   for(j=0;j<n;j++) 
    scanf("%d",&a[i][j]); 
  for(k=0;k<n;k++) 
    for(i=0;i<n;i++) 
    if(a[k][i]) 
      for(j=0;j<n;j++) 
        if(a[i][k]&&a[k][j]){ 
          a[i][j]=1; 
        } 
  for(i=0;i<n;i++) 
   for(j=0;j<n;j++) 
   { 
    if(a[i][j]+a[j][i]==0){  
      printf("no\n");return 0;}  
   } 
   printf("yes\n");  
 } 

总结

您可能感兴趣的文章:

相关文章