HDU-2544-最短路-迪杰斯特拉
2015-04-26 22:00
274 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544
#include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #define N 100000000 using namespace std; const int MAXN=10010; int dist[MAXN],map[MAXN][MAXN]; bool visit[MAXN]; int n,m; void init() { int i,j; for( i=1; i<=n; i++){ for( j=1; j<=n; j++) map[i][j]=N; dist[i]=N; visit[i]=false; } } int Dijkstra(int s) { int mim,k,i; dist[s]=0; k=s; memset(visit,false,sizeof(visit)); while( true){ visit[k]=true; if( k==n) break; for( i=1; i<=n; i++) if( !visit[i]&&map[k][i]!=N) dist[i]=min(dist[i],dist[k]+map[k][i]); mim=N; k=-1; for( i=1; i<=n; i++){ if( !visit[i] && mim>dist[i]){ mim=dist[i]; k=i; } } if( k==-1) break; } return dist ; } int main() { int i,j,x; while( ~scanf("%d%d",&n,&m),m||n) { init(); while( m--){ scanf("%d%d%d",&i,&j,&x); if( x<map[i][j]) map[i][j]=map[j][i]=x; } printf("%d\n",Dijkstra(1)); } return 0; }
相关文章推荐
- 最短路 HDU - 2544 (迪杰斯特拉)
- hdu-2544-最短路(迪杰斯特拉-最短路径)
- hdu 2544 最短路(优先队列 迪杰斯特拉Dijkstr)
- 最短路(HDU-2544)(迪杰斯特拉模板)
- hdu 2544 最短路(图论:迪杰斯特拉||弗洛伊德算法)
- HDU 2544 最短路——简单的模板题 dijkstra
- HDU 2544 最短路dijstra算法
- HDU 2544 最短路
- hdu 2544 最短路
- hdu 2544 最短路 解题报告
- hdu-2544 最短路
- 【图论--Dijkstra】HDU 2544 最短路
- HDU-2544 最短路
- HDU -- 2544 最短路 (Floyd)
- HDU 2544 最短路
- hdu 2544 最短路
- HDU 2544 最短路 (单源最短路)
- HDU 2544 最短路 dijkstra
- HDU 2544 最短路(简单Dijkstra)
- 最短路 hdu 2544