判斷一個無向圖是否為連通圖的方法
更新時間:2019年03月04日 11:32:09 作者:baiduoWang
今天小編就為大家分享一篇關于判斷一個無向圖是否為連通圖的方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
無向圖的連通性
判斷一個無向圖是否為連通圖。輸入為無向圖的鄰接矩陣。
輸入
- 輸入有若干行
- 第一行為正整數(shù)N(0<N<=3000),代表圖中點的個數(shù)
- 接下來N行,每行有N個數(shù)據,每個數(shù)據以空格分隔,代表鄰接矩陣。
輸出
- 一行。連通yes, 否則no.
測試輸入
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");
}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
VS2017開發(fā)C語言出現(xiàn)“no_init_all“的解決辦法
這篇文章介紹了VS2017開發(fā)C語言出現(xiàn)“no_init_all“的解決辦法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12
C++實現(xiàn)LeetCode(80.有序數(shù)組中去除重復項之二)
這篇文章主要介紹了C++實現(xiàn)LeetCode(80.有序數(shù)組中去除重復項之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07
CString,字符串,整數(shù)等相互轉換方法(推薦)
下面小編就為大家?guī)硪黄狢String,字符串,整數(shù)等相互轉換方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
Qt私有信號實現(xiàn)(private signal)
在使用Qt信號槽機制的時候,有時候我們需要一個信號只能由類內發(fā)出,而不允許使用該類對象的用戶發(fā)出,此時就需要私有信號的支持,本文主要介紹了Qt私有信號實現(xiàn)(private signal),感興趣的可以了解一下2023-10-10
C語言實現(xiàn)航班售票系統(tǒng) C語言實現(xiàn)航班管理系統(tǒng)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)航班售票系統(tǒng),C語言實現(xiàn)航班管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12

