标签: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