畅通工程续floyd
来源:互联网 发布:淘宝买lol账号流程 编辑:程序博客网 时间:2024/06/05 02:23
#include<iostream>#include<cstring>#include<cstdio>#define INF 0x3f3f3fusing namespace std;int map[1005][1005];int n,m,s,t;void floyd(){int i,j,k;cin>>s>>t;for(k=0;k<=n-1;k++)//floyd核心步骤 for(i=0;i<=n-1;i++){if(map[i][k]<INF){for(j=0;j<=n-1;j++){if(map[k][j]<INF&&map[i][j]>map[i][k]+map[k][j])map[i][j]=map[i][k]+map[k][j];}}}if(map[s][t]<INF)cout<<map[s][t]<<endl;elsecout<<"-1"<<endl;return ;}int main(){int i,j,u,v,w;while(cin>>n>>m){for(i=0;i<=n-1;i++)//初始化map[][]数组 for(j=0;j<=n-1;j++) map[i][j]=INF; for(i=0;i<=n-1;i++)//注意别少了这一步 map[i][i]=0; /*解释:如k=1,i=2,j=2;时map[2][1]+map[1][2]<map[2][2]就会对map[2][2]进行更新,其结果显然不为0,而正常情况下,map[2][2]应为0所以不能少了for(i=0;i<=n-1;i++) map[i][i]=0;这一步*/ for(i=1;i<=m;i++)//输入数据 { cin>>u>>v>>w; if(map[u][v]>w)//防止两点之间出现多条路径的情况出现 { map[u][v]=w;map[v][u]=w; } } floyd();/*cin>>s>>t;for(k=0;k<=n-1;k++)//floyd核心步骤 for(i=0;i<=n-1;i++){if(map[i][k]<INF){for(j=0;j<=n-1;j++){if(map[k][j]<INF&&map[i][j]>map[i][k]+map[k][j])map[i][j]=map[i][k]+map[k][j];}}}*/ /*for(i=0;i<=n-1;i++){for(j=0;j<=n-1;j++)cout<<map[i][j]<<" ";cout<<endl;}*//*if(map[s][t]<INF)cout<<map[s][t]<<endl;elsecout<<"-1"<<endl;*/ }return 0;}
0 0
- 畅通工程续floyd
- HDOJ1874 畅通工程续(floyd)
- HDOJ 1874 畅通工程续 (Floyd)
- 畅通工程续+迪杰斯特拉算法+floyd算法
- 畅通工程续(hdu1874,floyd最短路)
- hdu 1874 畅通工程续(Floyd)
- 【floyd】HDU 1874 畅通工程续
- 畅通工程续+hdu+floyd算法实现
- HDU1874:畅通工程续(Dijkstra/Floyd/SPFA)
- HDU1874畅通工程续 dijkstra&&floyd
- hdu 1874 畅通工程续(Floyd)
- HDOJ-1847畅通工程续(Floyd)
- HDU - 1874 - 畅通工程续(Floyd)
- HDOJ 1874 畅通工程续【Floyd】
- hdu 1874 畅通工程续(Floyd算法)
- hdu1874 畅通工程续 (floyd)
- HDU 1874-畅通工程续(Floyd)
- hdu 1874畅通工程续 Floyd算法
- MyEclipse中文乱码问题
- Leetcode__Maximum depth
- Objectarx的一些常用函数
- ADO 连接 服务器Oracle
- 自定义类型转换器
- 畅通工程续floyd
- java异常
- [Python标准库]functools——管理函数的工具
- Qt多线程学习:创建多线程
- 【费用流】[BZOJ1061]/[HYSBZ1061]志愿者招募
- Win7+虚拟机OS X 10.8.5+Xcode4.6.3+越狱iPhone4+iOS5.1.1真机调试及生成ipa包
- js跨域
- 正则表达式
- “HINSTANCE ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT)”