HDU 1690 多源最短路径 Bus System
来源:互联网 发布:发票数据怎么导出电子 编辑:程序博客网 时间:2024/05/20 06:25
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1690
分析:求出任意两点这间的最小消费.对m次询问就可直接打出来.
#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<iomanip>using namespace std;const int maxn=1000+10;const __int64 inf=100000000002;__int64 L1,L2,L3,L4,C1,C2,C3,C4;__int64 map[maxn][maxn];__int64 d[maxn];int main(){ int T; cin>>T; int cas=1; while(T--){ cin>>L1>>L2>>L3>>L4>>C1>>C2>>C3>>C4; int n,m; cin>>n>>m; ///初始化 for(int i=1;i<=n;++i){ cin>>d[i]; map[i][i]=0; for(int j=1;j<i;++j){ __int64 s=max(d[i],d[j])-min(d[i],d[j]),v; if(s>L4) v=inf; else if(s>L3) v=C4; else if(s>L2) v=C3; else if(s>L1) v=C2; else if(s>0) v=C1; else v=0; map[i][j]=map[j][i]=v; } } ///floyd算法 for(int k=1;k<=n;++k) for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) map[i][j]=min(map[i][j],map[i][k]+map[k][j]); printf("Case %d:\n",cas++); while(m--){ int x,y; cin>>x>>y; if(map[x][y]==inf)printf("Station %d and station %d are not attainable.\n",x,y); else printf("The minimum cost between station %d and station %d is %I64d.\n",x,y,map[x][y]); } } return 0;}
- HDU 1690 Bus System(多源最短路径)
- HDU 1690 多源最短路径 Bus System
- hdu 1690 Bus System Floyd 求最短路径
- [最短路径] HDU 1690 - Bus System
- HDU 1690 Bus System
- HDU 1690 Bus System
- hdu 1690 Bus System
- HDU 1690 Bus System
- HDU 1690 Bus System
- hdu 1690 Bus System
- hdu 1690 Bus System
- HDU 1690 Bus System.
- hdu-1690 Bus System
- hdu 1690 Bus System
- hdu 1690 Bus System
- HDU-1690-Bus System
- HDU-1690-Bus System
- HDU 1690:Bus System
- Eclipse + PyDev + wxPython开发Windows GUI程序
- css 继承
- 在VS2010里对新建对话框初始化问题
- myeclipse10破解失败过程
- iOS 5与iOS 6的 low-memory 处理
- HDU 1690 多源最短路径 Bus System
- sql2005中的时间格式化
- 提高前端性能方面的处理以及不足
- 黑马程序员_多线程
- BSP 之Bootloader开发(1)
- linux 进程优先级设置
- 求结构体某个变量的相对偏移量
- BSP 之Bootloader开发(2)
- iOS设计模式(02):单例模式