floyed任意两点间最短路径
2018-03-30 17:33
323 查看
#include <iostream> #include <stdio.h> #include <bits/stdc++.h> using namespace std; const int INF=1000000; int v,e,S,G; int d[100][100]; void floyd(){ for(int k=0;k<v;k++){ for(int i=0;i<v;i++){ for(int j=0;j<v;j++){ d[i][j]=min(d[i][j],d[i][k]+d[k][j]);//核心代码 //cout<<d[i][j]<<" "; } } } } int main(){ cin>>v>>e>>S>>G; for(int i=0;i<v;i++){ for(int j=0;j<v;j++){ if(i==j) d[i][j]=0; else d[i][j]=INF; } } for(int i=0;i<e;i++){ int s,t,cost; cin>>s>>t>>cost; d[s][t]=cost; d[t][s]=cost; } floyd(); cout<<d[S][G]; return 0; }
相关文章推荐
- floyd算法(求任意两点间的最短路径)
- Floyd(求图中任意两点最短路径)
- AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)
- acm题目及我的程序(2)——Knight Moves (骑士跳跃) ——任意两点间的最短路径所有信息(算法1)
- 【OI杂记】求二叉树上任意两点的最短路径上的边权最大值
- acm题目及我的程序(2)——Knight Moves (骑士跳跃) ——任意两点间的最短路径所有信息(算法2)
- Dijkstra单源最短路径实现 及 Floyd任意两点之间的最短路径
- 二叉树任意两点间最短路径长度 C语言暴力版
- 最短路径 (单源最短路径Dijkstra和任意两点最短路径Floyd) C实现
- 任意两点之间最短路径
- 基于pgrouting的任意两点间的最短路径查询函数二
- 2014东北农大校赛--D.Cross the middle (任意两点最短路径 Floyd)
- 图论02——任意两点间最短距离及路径
- Floyd算法(任意两点间的最短路径)
- pgrouting路径分析(任意两点之间的最短路径)
- 图论03——改进的任意两点间最短距离及路径
- 软件测试作业 图中任意两点的最短路径
- 运用Floyd算法求得带权有向图任意两点间的最短路径C/C++
- 基于pgrouting的任意两点间的最短路径查询函数