poj 1125:Stockbroker Grapevine
来源:互联网 发布:怎么下载安装python 编辑:程序博客网 时间:2024/06/06 15:02
解题思路:
floyd算法,求解最短路径
(1)二维矩阵每一对顶点的最短距离。(2)依次扫描每一个点,以其为基点再遍历所有每一对顶点之间距离的值,检查是否可通过该基点让这对顶点间的距离更小。
(3)注意算法中循环嵌套的顺序。
#include<iostream>#include<cmath>using namespace std;int dis[110][110];const int inf = 20;int n,m;int maxTime;int startMan;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)dis[i][j] = min(dis[i][j],dis[i][k]+dis[k][j]);for(int i=1;i<=n;i++){int maxPath = 0;for(int j=1;j<=n;j++)if(i!=j)maxPath = max(maxPath,dis[i][j]);if(maxPath < maxTime){maxTime = maxPath;startMan = i;}}if(maxTime==inf)cout<<"disjoint"<<endl;elsecout<<startMan<<" "<<maxTime<<endl;return;}int main(){while(true){cin>>n;if(n==0)break;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)dis[i][j] = inf;for(int i=1;i<=n;i++)dis[i][i] = 0;for(int i=1;i<=n;i++){cin>>m;for(int j=1;j<=m;j++){int p,q;cin>>p>>q;dis[i][p] = q;}}maxTime = inf;startMan = 0;floyd();}return 0;}
0 0
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- Poj 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125-Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- Jawin的COMException : no jawin in java.library.path错误
- Android安装NDK运行环境无需cygwin
- jbpm
- curl命令的使用说明
- cocos2d-x-lua基础系列教程三(lua面向对象)
- poj 1125:Stockbroker Grapevine
- 基于Android的移动终端应用程序开发与研究
- android 资源反射备忘
- 九针串口公母头定义
- 如果有朋友有全套的易语言教程,请分享给我,谢谢
- Sublime Text 3使用技巧
- 工作感悟——从用户中来,到用户中去
- 从xen向kvm切换虚拟机
- cocos2d-x-lua基础系列教程四(lua多继承)