distance(Floyd求最短路)
1967年,美國著名的社會學家斯坦利·米爾格蘭姆提出了一個名為“小世界現象(small world phenomenon)”的著名假說,大意是說,任何2個素不相識的人中間最多隻隔著6個人,即只用6個人就可以將他們聯絡在一起,因此他的理論也被稱為“六度分離”理論(six degrees of separation)。雖然米爾格蘭姆的理論屢屢應驗,一直也有很多社會學家對其興趣濃厚,但是在30多年的時間裡,它從來就沒有得到過嚴謹的證明,只是一種帶有傳奇色彩的假說而已。
Lele對這個理論相當有興趣,於是,他在HDU裡對N個人展開了調查。他已經得到了他們之間的相識關係,現在就請你幫他驗證一下“六度分離”是否成立吧。
Input
本題目包含多組測試,請處理到檔案結束。
對於每組測試,第一行包含兩個整數N,M(0<N<100,0<M<200),分別代表HDU裡的人數(這些人分別編成0~N-1號),以及他們之間的關係。
接下來有M行,每行兩個整數A,B(0<=A,B<N)表示HDU裡編號為A和編號B的人互相認識。
除了這M組關係,其他任意兩人之間均不相識。
Output
對於每組測試,如果資料符合“六度分離”理論就在一行裡輸出"Yes",否則輸出"No"。
Sample Input
8 7 0 1 1 2 2 3 3 4 4 5 5 6 6 7 8 8 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0
Sample Output
Yes Yes
#include <iostream>
#include<cstdio>
using namespace std;
const int MAX=0x3f3f3f;
int dis[102][102];
void Floyd(int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
for(int k=0;k<n;k++)
{
if(dis[j][k]>dis[j][i]+dis[i][k])
dis[j][k]=dis[j][i]+dis[i][k];
}
}
}
}
int main(){
int n,m,a,b;
while(scanf("%d%d",&n,&m)!=EOF)
{
int flag=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
dis[i][j]=MAX;
}
dis[i][i]=0;
}
while(m--)
{
scanf("%d%d",&a,&b);
dis[a][b]=dis[b][a]=1;
}
Floyd(n);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(dis[i][j]>7)
{
flag=1;
break;
}
}
}
if(flag==0)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
相關文章
- 最短路-Floyd
- 求最短路徑——DFS+Floyd演算法演算法
- 最短路:求最長最短路
- 最短路徑(dijkstra 與 Floyd)
- Floyd最短路演算法演算法
- 圖的最短路徑(Dijkstra | Floyd)
- 最短路徑(Floyd演算法)演算法
- [MATLAB]最短路徑Floyd演算法Matlab演算法
- 最短路徑之Floyd演算法演算法
- Floyd演算法(計算最短路徑)演算法
- 最短路演算法之:floyd 演算法演算法
- 最短路-SPFA演算法&Floyd演算法演算法
- 最短路 || 最長路 || 次短路
- 多源最短路徑演算法:Floyd演算法演算法
- 最短路徑——floyd演算法程式碼(c語言)演算法C語言
- 最短路徑——Dijkstra演算法和Floyd演算法演算法
- 多源最短路徑,一文搞懂Floyd演算法演算法
- 分層圖求最短路
- 矩陣求最短路徑矩陣
- POJ 1734 Sightseeing trip Floyd求無向圖最小環
- 【最短路徑Floyd演算法詳解推導過程】看完這篇,你還能不懂Floyd演算法?還不會?演算法
- 最短路徑--dijkstra演算法、弗洛伊德(Floyd)演算法(帶路徑輸出)演算法
- Matrix Distance
- A - Distance in Tree
- [Leetcode] Edit DistanceLeetCode
- 求最短路徑-----迪傑斯特拉演算法演算法
- 一個人的旅行 (dijkstra演算法求最短路)演算法
- 7.47 CLUSTER_DISTANCE
- POI2012ODL-Distance
- 477-Total Hamming Distance
- LeetCode 461. Hamming DistanceLeetCode
- Dijkstra迪傑斯特拉求最短路和最短路的條數和各個點權值的最大值
- L2-001 緊急救援 (25分)【新增陣列求最短路數量】【pre陣列記錄最短路徑】陣列
- 錯誤 1 error LNK2019: 無法解析的外部符號 "public: __thiscall Distance::Distance(int)" (??0Distance@@QAE@H@Z),該符...Error符號
- 漢明距離(Hamming distance)
- [LeetCode] 2739. Total Distance TraveledLeetCode
- 【Lintcode】1623. Minimal Distance In The Array
- [LeetCode] 243. Shortest Word DistanceLeetCode