最短路径问题 多加了一个费用 http://acm.hdu.edu.cn/showproblem.php?pid=3790
来源:互联网 发布:seo经验分享 编辑:程序博客网 时间:2024/05/02 00:05
#include<iostream>#include<algorithm>#include<cstdio>#define INF 0x3f3f3fusing namespace std;const int maxn = 1002;int G[maxn][maxn],pay[maxn][maxn];int dist[maxn],cost[maxn];bool vis[maxn];int n,m;void Prim(int x){ for(int i=1;i<=n;i++){ dist[i]=G[x][i]; cost[i]=pay[x][i]; vis[i]=0; } vis[x]=1; while(1) { vis[0]=1,dist[0]=cost[0]=0; int min2=INF,min1=INF,p; for(int i=1;i<=n;i++){ if(!vis[i]) { if(dist[i]<min2) { min2=dist[i];min1=cost[i];p=i; } else { if(dist[i]==min2&&cost[i]<min1) { min2=dist[i];min1=cost[i];p=i; } } } } if(min2==INF)break; vis[p]=1; for(int i=1;i<=n;i++) if(!vis[i]) { if(dist[i]>G[p][i]+dist[p]) { dist[i]=G[p][i]+dist[p];cost[i]=pay[p][i]+cost[p]; } else { if((dist[i]==G[p][i]+dist[p])&&(cost[i]>pay[p][i]+cost[p])) { dist[i]=G[p][i]+dist[p];cost[i]=pay[p][i]+cost[p]; } } } }}int main(){ while(scanf("%d%d",&n,&m)!=EOF&&(n||m)){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) { G[i][j]=G[j][i]=INF; G[i][i]=0; pay[i][j]=pay[j][i]=INF; pay[i][i]=0; } } for(int i=1;i<=m;i++) { int a,b,v,k; cin>>a>>b>>v>>k; if(G[a][b]>v) { G[a][b]=G[b][a]=v; pay[a][b]=pay[b][a]=k; } else if(G[a][b]==v&&pay[a][b]>k) G[a][b]=G[b][a]=v,pay[a][b]=pay[b][a]=k; } int n1,m1; cin>>n1>>m1; Prim(n1); cout<<dist[m1]<<" "<<cost[m1]<<endl; } return 0;}
0 0
- 最短路径问题 多加了一个费用 http://acm.hdu.edu.cn/showproblem.php?pid=3790
- http://acm.hdu.edu.cn/showproblem.php?pid=3790&&最短路径问题
- http://acm.hdu.edu.cn/showproblem.php?pid=3790
- http://acm.hdu.edu.cn/showproblem.php?pid=1005
- http://acm.hdu.edu.cn/showproblem.php?pid=1333
- http://acm.hdu.edu.cn/showproblem.php?pid=2710
- http://acm.hdu.edu.cn/showproblem.php?pid=2866
- http://acm.hdu.edu.cn/showproblem.php?pid=1041
- http://acm.hdu.edu.cn/showproblem.php?pid=1719
- http://acm.hdu.edu.cn/showproblem.php?pid=2136
- http://acm.hdu.edu.cn/showproblem.php?pid=1166
- http://acm.hdu.edu.cn/showproblem.php?pid=3519
- http://acm.hdu.edu.cn/showproblem.php?pid=2446
- http://acm.hdu.edu.cn/showproblem.php?pid=1709
- http://acm.hdu.edu.cn/showproblem.php?pid=1874
- http://acm.hdu.edu.cn/showproblem.php?pid=1863
- http://acm.hdu.edu.cn/showproblem.php?pid=1879
- http://acm.hdu.edu.cn/showproblem.php?pid=1875
- 泛型
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- POJ 1324 状压搜索(4进制)
- Microsoft SQL Server 2005 整合、集成SP3方法
- Unity基础——动画编辑Animations、Animator
- 最短路径问题 多加了一个费用 http://acm.hdu.edu.cn/showproblem.php?pid=3790
- Minimum Path Sum
- 获取输入input()
- HtmlAgilityPack 之神兵利器
- HDU 1114 完全背包
- linux基本指令
- TINY4412 驱动开发学习笔记整理--环境搭建篇
- 字符串-02. 删除字符串中的子串(20)
- boj408字符串——hash的应用