HDU 1869 六度分离(最短路)
2017-12-16 21:32
381 查看
【题目链接】
http://acm.hdu.edu.cn/showproblem.php?pid=1869
http://acm.hdu.edu.cn/showproblem.php?pid=1869
题目意思
有一群人,问是否满足六度分离(任意2个人通过6个人最终会认识)。解题思路
没什么好说的,初始为1,跑遍佛洛依德判断是否有大于7的两个人就好了代码部分
#include <bits/stdc++.h> using namespace std; #define LL long long const int maxn=1005; const int INF=0x3f3f3f; int n,m,s,t; int a[maxn][maxn]; int main() { while (scanf("%d %d",&n,&m)!=EOF) { bool fal=0; memset(a,INF,sizeof(a)); for (int i=0;i<n;i++) a[i][i]=0; for (int i=0; i<m; i++) { int x,y; scanf("%d %d",&x,&y); a[x][y]=1; a[y][x]=1; } for (int k=0;k<n;k++) for(int i=0; i<n; i++) for(int j=0; j<n; j++) if(a[i][j]>(a[i][k]+a[k][j])) { a[i][j]=a[i][k]+a[k][j]; a[j][i]=a[i][k]+a[k][j]; } for (int i=0;i<n;i++) for (int j=0;j<n;j++) { if (a[i][j]>7) { //cout<<i<<j<<' '<<a[i][j]<<endl; fal=1; } } if (!fal) cout<<"Yes"<<endl; else cout<<"No"<<endl; } }
相关文章推荐
- hdu 1869 六度分离(floyd最短路)
- 【HDU】-1869-六度分离(最短路)(floyd)
- hdu 1869(最短路flody-六度分离)
- HDU 1869 六度分离 最短路
- HDU 1869 六度分离(迪杰斯特拉/优先队列/最短路)
- HDU 1869 六度分离(最短路 floyd)
- HDU 1869六度分离(flody最短路)
- HDU-1869-六度分离【最短路】
- HDU1869 - 六度分离 - 最短路变形之关系处理
- hdu 1869 六度分离【裸最短路】
- HDU 1869 六度分离(最短路)
- HDU-1869 六度分离 最短路
- HDU 1869--六度分离 【任意点最短路】
- HDU--1869--六度分离(最短路)
- hdu 1869 六度分离(最短路floyd)
- HDU 1869 六度分离 -----Floyd
- 【HDU 1869】六度分离
- HDU - 1869 六度分离 (floyed)
- HDOJ 1869 六度分离 (最短路 Dijkstra && SPFA && Floyd)
- hdu-1869-六度分离(dijkstra)