HDU 1385 Minimum Transport Cost(最短路Floyd+标记路径)
来源:互联网 发布:ios最简单的链式编程 编辑:程序博客网 时间:2024/05/20 06:24
题目大意:给定n个城市,及其之间的距离,然后有一行数,代表在每个城市中所需要的过路费。求任意两点间的
最小费用,及其经过的路径。
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <queue>#define inf 0x3f3f3f3f#define ll long longusing namespace std;int Map[1000][1000],n,path[1000][1000],b[1000];void Floyd(){ int i,j,k; for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) { if(Map[i][j]>Map[i][k]+Map[k][j]+b[k]) { Map[i][j]=Map[i][k]+Map[k][j]+b[k]; path[i][j]=path[i][k];//更新路径 } else if(Map[i][j]==Map[i][k]+Map[k][j]+b[k]) { path[i][j]=min(path[i][k],path[i][j]); } }}int main(){ int m,i,j,k,x,y; while(~scanf("%d",&n)) { if(!n) break; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { scanf("%d",&k); if(k==-1) Map[i][j]=inf; else { Map[i][j]=k;path[i][j]=j;//用path[][]数组记录下某个当前路径 } } for(i=1;i<=n;i++) scanf("%d",&b[i]); Floyd();int tmp; while(~scanf("%d%d",&x,&y)) { if(x==-1&&y==-1) break; tmp=path[x][y]; printf("From %d to %d :\n",x,y); printf("Path: %d",x); if(x==y) printf("\nTotal cost : %d\n\n",Map[x][y]); else { while(1) { printf("-->%d",tmp); if(tmp==y) break; tmp=path[tmp][y]; } printf("\nTotal cost : %d\n\n",Map[x][y]); } } } return 0;}
0 0
- HDU 1385 Minimum Transport Cost(最短路Floyd+标记路径)
- hdu 1385(zoj 1456)Minimum Transport Cost(最短路,输出路径,Floyd实现)
- HDU 1385 Minimum Transport Cost(Floyd 最短路 打印路径)
- hdu 1385 Minimum Transport Cost(最短路,floyd打印字典序路径)
- hdu 1385 Minimum Transport Cost(最短路+记录路径)
- hdu 1385 Minimum Transport Cost(最短路+输出路径)
- HDOJ 1385 Minimum Transport Cost (最短路 Floyd & 路径记录)
- hdu 1385 Minimum Transport Cost【floyd过】【最短路】
- Minimum Transport Cost hdu 1385(最短路 + 路径保存 + stack)
- hdu 1385 Minimum Transport Cost 最短路加路径输出
- HDU 1385 Minimum Transport Cost【最短路之路径记录】
- HDU 1385Minimum Transport Cost 最短路输出路径
- HDU 1385 Minimum Transport Cost (Floyd算法 + 路径输出)
- HDU 1385Minimum Transport Cost(floyd+记录路径)
- HDU 1385(Minimum Transport Cost)floyd+正向返回路径
- hdu 1385 Minimum Transport Cost(floyd && 记录路径)
- hdu 1385 Minimum Transport Cost(Floyd打印路径)
- HDU 1385 Minimum Transport Cost(Floyd+路径输出)
- 基于Hive及Sqoop的每日PV、UV、IP定时分析
- SystemUI源码提取到eclipse中编译
- 12 个 CSS 高级技巧汇总
- PHP上传图片文件
- jQuery 的$.extend和$.fn.extend作用及区别
- HDU 1385 Minimum Transport Cost(最短路Floyd+标记路径)
- web流程图JS插件:dagre-d3
- python学习
- 产品之路:如何快速学习产品?
- iOS系统中各种设置项的URL链接 跳转到设置页面
- idea bearcat 文件模板
- java swing 窗口界面关闭事件响应
- SEO
- 项目需求将上传的文件统一FTP传送到一个服务器