Floyd+路径输出
来源:互联网 发布:linux ping脚本 编辑:程序博客网 时间:2024/06/05 10:52
#include <iostream> using namespace std; #include <stack>const int INF = 99999999; stack<int>s;int n,m;//n:顶点数,m:边数 struct node { int space; int pre; }map[110][110];//建图,map[i][j].space表示点i到点j的最短距离,map[i][j].pre表示点i到点j的"跳板" void input() { int i,j; for(i = 1; i <=n; i++) for(j = 1; j <=n; j++) { if(i==j) map[i][j].space = 0; else map[i][j].space = INF; map[i][j].pre = i; }//初始化 int a,b,x; for(i = 1; i <=m; i++) { cin>>a>>b>>x; map[a][b].space = x; }//存图 } void floyd()//floyd算法 { int k,i,j; for(k = 1; k <=n; k++) for(i = 1; i <=n; i++) for(j = 1; j <=n; j++) { if(map[i][k].space!=INF && map[k][j].space!=INF && map[i][k].space + map[k][j].space < map[i][j].space) { map[i][j].space = map[i][k].space + map[k][j].space; map[i][j].pre = k; } } } void output() { int i,j; for(i = 1; i <=n; i++) for(j = 1; j <=n; j++) { cout<<i<<"~"<<j<<"的最短距离:"<<map[i][j].space<<endl; int k = j; cout<<"路径:"<<i<<" "; while(map[i][k].pre!=i) { k = map[i][k].pre; s.push(k); } while(!s.empty()){cout<<s.top()<<" "; s.pop();} cout<<j<<" \n"; } } int main() { while(1) { cin>>n>>m; if(n+m==0)break; input(); floyd(); output(); } return 0; }
阅读全文
0 0
- Floyd+路径输出
- Floyd算法并输出路径
- nyoj 931 货物运输(Floyd输出路径)
- Floyd算法 及 递归输出路径
- URAL1004 Sightseeing Trip(floyd+路径输出)
- hdu 1385 floyd+最小字典序路径输出!!
- HDU 1385 Minimum Transport Cost (Floyd算法 + 路径输出)
- Floyd求最短路+输出路径上节点
- hdu 1385 Minimum Transport Cost (Floyd 路径输出)
- hdoj Minimum Transport Cost 1385 (floyd++路径输出)
- hdu 1358 floyd+输出字典需最小最短路径
- HDU 1385 Minimum Transport Cost(Floyd+路径输出)
- Gym 101572 I.Import Spaghetti【Floyd最小环+输出路径】
- HDU1385 Minimum Transport Cost 最短路+输出路径★floyd中的路径dp
- hdu 1385(zoj 1456)Minimum Transport Cost(最短路,输出路径,Floyd实现)
- poj 1734 Floyd输出路径(长度大于等于3的最小圈)
- hdu1385 Minimum Transport Cost (floyd输出字典序最小的路径)
- Floyd-Warshall多源最短路径
- centos7 apache httpd安装和配置django项目
- 有关于100动态规划专栏的说明
- Tomcat 综述
- 运算符重载
- Netty源码解读(一)概述
- Floyd+路径输出
- 前端小知识
- 《Linux设备驱动程序 第三版》,snull源码,linux-2.6.10
- redis info详解
- cmake链接依赖
- 安装VM的问题:此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
- 【二叉树】257. Binary Tree Paths
- Java线程问题
- 利用let's encrypte生成证书时,报“setuptools pkg_resources pip wheel ……”错误解决办法