标签:des style io color ar os java for sp
2 1 1 2 3 3 3 1 2 5 2 3 5 3 1 2 0 0
3 2
#include <iostream> #include <stdio.h> #include <string> #include <cstring> #include <algorithm> #define N 1000 #define INF 0x3f3f3f using namespace std; int n,m; int u,v,w; int map[N][N]; int vis[N]; int ans; int dis[N];//表示当前结点到任一点的距离,即添加边的过程 void dijkstra() { memset(dis,INF,sizeof dis); memset(vis,0,sizeof vis); int i,j; int now,mid; dis[1]=0; for(int i=1;i<=n;i++) { mid=INF; for(int i=1;i<=n;i++) { if(!vis[i]&&mid>dis[i]) { mid=dis[i]; now=i; } } vis[now]=1; for(int i=1;i<=n;i++) { if(dis[i]>dis[now]+map[now][i]) dis[i]=dis[now]+map[now][i]; } } ans=dis[n]; } int main() { while(scanf("%d%d",&n,&m),m+n) { memset(map,INF,sizeof map); for(int i=1;i<=m;i++) { scanf("%d%d%d",&u,&v,&w); map[u][v]=map[v][u]=w; } dijkstra(); cout<<ans<<endl; } return 0; }
标签:des style io color ar os java for sp
原文地址:http://blog.csdn.net/wust_zjx/article/details/40830679