uva 821 Page Hopping 最短路floyd
来源:互联网 发布:环球黑卡 知乎 编辑:程序博客网 时间:2024/06/05 02:37
题意:有n个结点,给定c条边的无权图,求任意两点的平均距离,如样例中:1到2,3,4的距离分别为1,1,2;2到1,3,4分别为3,2,1;3到1,2,4分别为1,2,3;
4到1,2,3分别为2,3,1;
思路:跑一遍Floyd求得任意两点的最短距离,根据要求求出平均最短距离即可
#include<cstdio>#include<cstring>using namespace std;const int maxn = 110;const int INF = 1<<20;int d[maxn][maxn],n;void floyd(){for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(i!=j&&d[i][j]>d[i][k]+d[k][j])d[i][j]=d[i][k]+d[k][j];}int main(){int u,v,cas=0;while(scanf("%d%d",&u,&v)&&(u+v)){n=-1;int Max = u>v?u:v;if(n<Max)n=Max;for(int i=0;i<maxn;i++)for(int j=0;j<maxn;j++)d[i][j]=INF;d[u][v]=1;while(scanf("%d%d",&u,&v)&&(u+v)){d[u][v]=1;int Max = u>v?u:v;if(n<Max)n=Max;}long long cnt;double ans;ans=cnt=0;floyd();for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(d[i][j]!=INF){ans+=d[i][j];cnt++;}printf("Case %d: average length between pages = %.3lf clicks\n",++cas,(double)ans/cnt);}}
0 0
- uva 821 Page Hopping 最短路floyd
- UVA 821 Page Hopping(最短路)
- 【UVA】821-Page Hopping(Floyd)
- UVa 821- Page Hopping(Floyd)
- UVA - 821 - Page Hopping(floyd算法)
- UVA 821 Page Hopping (Floyd)
- UVAOJ 821 Page Hopping(最短路)
- Uva 821 - Page Hopping
- UVa 821 - Page Hopping
- 821 - Page Hopping (Floyd)
- UVA Page Hopping(Floyd算法)
- UVA 821(p379)----Page Hopping
- [floyd]UVa821 - Page Hopping
- uva 10801 - Lift Hopping(最短路Dijkstra)
- UVA 10801 Lift Hopping (最短路)
- UVA - 10801 Lift Hopping 最短路
- Lift Hopping (Uva 10801 最短路)
- UVA 10801 Lift Hopping(最短路)
- CSDN日报20170413 ——《天天写业务代码的那些年,我们是如何成长过来的》
- 点击屏幕其它地方,让EditText失去焦点,并获取EditText输入的类容
- C++求两个数的最大公约数
- Servlet(14)加载文件及会话技术介绍
- js的&&与||运算符
- uva 821 Page Hopping 最短路floyd
- H5基础第五课时CSS篇(1)
- PHP htmlspecialchars() 的反函数 html_entity_decode()
- Algorithm-Gossip 经典算法系列 说明文档
- Iframe和a标签的downLoad新属性实现-调用浏览器的本地下载功能
- H5基础第五课时CSS篇(2)
- 抽象工厂模式
- Android Studio混淆打包
- extern和static的区别