给定一个图的邻接矩阵,请判断该图是否是连通图。连通图:任意两个顶点之间都有路径。
标签:out ios div names turn 矩阵 name mat code
#include<iostream> using namespace std; #define Maxlen 50 bool judge(int n,int m[Maxlen][Maxlen]) { for(int k=0;k<n;k++) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(m[i][j]==0&&m[i][k]==1&&m[k][j]==1) m[i][j]=1; } } } for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(i==j) continue; else { if(m[i][j]!=1||m[j][i]!=1) return false; } } } return true; } int main() { int T; cin>>T; while(T--) { int n; cin>>n; int m[Maxlen][Maxlen]; for(int i=0;i<Maxlen;i++) for(int j=0;j<Maxlen;j++) m[i][j]=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>m[i][j]; if(judge(n,m)) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
标签:out ios div names turn 矩阵 name mat code
原文地址:https://www.cnblogs.com/SZU-DS-wys/p/12181104.html