HDU 2066 一个人的旅行【Dijkstra 】
2015-04-07 20:45
393 查看
题意:给出s个起点,d个终点,问从这些起点到达终点的最短距离
因为有多个起点,所以把这多个起点的值设为0
哎= =改了好久的说= =
是因为在代码里面的t,不知道为什么调用dijkstra()函数之后就会变成INF的值-
后来先保存下t的值,再调用----------555555555
View Code
dijkstra的第一题= = go--go--g0
因为有多个起点,所以把这多个起点的值设为0
哎= =改了好久的说= =
是因为在代码里面的t,不知道为什么调用dijkstra()函数之后就会变成INF的值-
后来先保存下t的值,再调用----------555555555
#include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<stack> #include<vector> #include<map> #include<set> #include<queue> #include<algorithm> using namespace std; typedef long long LL; const int INF = 100000000; const int maxn=1010; int w[maxn][maxn],v[maxn],a[maxn],b[maxn],d[maxn]; int t,s,n; void dijkstra(){ int i,j,k; for(i=1;i<=maxn;i++) d[i]=INF; for(i=1;i<=s;i++) d[a[i]]=0; memset(v,0,sizeof(v)); for(i=1;i<=maxn;i++){ int x,m=INF; for(int y=1;y<=maxn;y++) if(!v[y]&&d[y]<=m) m=d[x=y]; v[x]=1; for(int y=1;y<=maxn;y++) d[y]=min(d[y],d[x]+w[x][y]); } } int main(){ int i,j,k,u,v,ww; while(scanf("%d %d %d",&n,&s,&t)!=EOF){ for(i=1;i<=maxn;i++){ for(j=1;j<=maxn;j++){ if(i==j) w[i][j]=0; else w[i][j]=INF; } } for(i=1;i<=n;i++) { scanf("%d %d %d",&u,&v,&ww); if(w[u][v]>ww) w[u][v]=ww,w[v][u]=ww; } for(i=1;i<=s;i++) scanf("%d",&a[i]); for(i=1;i<=t;i++) scanf("%d",&b[i]); int idx=t; dijkstra(); int ans=INF; t=idx; for(i=1;i<=t;i++) { ans=min(ans,d[b[i]]); } printf("%d\n",ans); } return 0; }
View Code
dijkstra的第一题= = go--go--g0
相关文章推荐
- HDU 2066 一个人的旅行(Dijkstra)
- hdu 2066 一个人的旅行(Dijkstra)
- HDU 2066 【Dijkstra】 一个人的旅行
- hdu 2066 一个人的旅行(dijkstra)
- HDU 2066 一个人的旅行(Dijkstra)
- HDU 2066-一个人的旅行(最短路Dijkstra)
- HDU 2066 一个人的旅行【dijkstra】
- hdu 2066 一个人的旅行(简单的Dijkstra)
- HDU - 2066 一个人的旅行 (Dijkstra)
- 【HDU - 2066 一个人的旅行】 最短路 dijkstra,spfa
- HDU 2066-一个人的旅行(Dijkstra)
- hdu 2066 一个人的旅行(Dijkstra求最短路问题)
- hdu 2066 一个人的旅行(dijkstra)
- hdu 2066 一个人的旅行(Dijkstra)
- (阶段三 dijkstra算法温习1.2)HDU 2066 一个人的旅行(使用dijkstra来解决多源起点和多源终点的最短路径问题)
- hdu 2066 一个人的旅行(Dijkstra求最短路问题)
- HDU-OJ 杭电2066 一个人的旅行——dijkstra
- HDU 2066:一个人的旅行【Dijkstra & SPFA & Floyd】
- hdu-2066-一个人的旅行(dijkstra)
- HDU 2066 一个人的旅行(Dijkstra,建图很巧妙)