HDOJ   2544   最短路
2015-12-18 18:08
393 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544
#include <stdio.h>
#define INF 10000000
#define MAXN
200
//数组一定要开大........
int n,m;
int Edge[MAXN][MAXN];
int s[MAXN],dist[MAXN];
void Dijkstra(int v0)
{
int
i,j,k;
for(i=1;i<=n;i++)
{
dist[i]=Edge[v0][i];
s[i]=0;
}
s[v0]=1;
dist[v0]=0;
for(i=0;i<n-1;i++)
{
int min=INF,u=v0;
for(j=1;j<=n;j++)
{
if(!s[j]&&dist[j]<min)
{
u=j;
min=dist[j];
}
}
s[u]=1;
for(k=1;k<=n;k++)
{
if(!s[k]&&Edge[u][k]<INF&&dist[u]+Edge[u][k]<dist[k])
{
dist[k]=dist[u]+Edge[u][k];
}
}
}
}
int main()
{
int
i,j;
int
u,v,w;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==0&&m==0)
break;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==j)
Edge[i][j]=0;
else
Edge[i][j]=INF;
}
}
for(i=0;i<m;i++)
{
scanf("%d%d%d",&u,&v,&w);
Edge[u][v]=w;
Edge[v][u]=w;
}
Dijkstra(1);
printf("%d\n",dist
);
}
return
0;
}
#include <stdio.h>
#define INF 10000000
#define MAXN
200
//数组一定要开大........
int n,m;
int Edge[MAXN][MAXN];
int s[MAXN],dist[MAXN];
void Dijkstra(int v0)
{
int
i,j,k;
for(i=1;i<=n;i++)
{
dist[i]=Edge[v0][i];
s[i]=0;
}
s[v0]=1;
dist[v0]=0;
for(i=0;i<n-1;i++)
{
int min=INF,u=v0;
for(j=1;j<=n;j++)
{
if(!s[j]&&dist[j]<min)
{
u=j;
min=dist[j];
}
}
s[u]=1;
for(k=1;k<=n;k++)
{
if(!s[k]&&Edge[u][k]<INF&&dist[u]+Edge[u][k]<dist[k])
{
dist[k]=dist[u]+Edge[u][k];
}
}
}
}
int main()
{
int
i,j;
int
u,v,w;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==0&&m==0)
break;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==j)
Edge[i][j]=0;
else
Edge[i][j]=INF;
}
}
for(i=0;i<m;i++)
{
scanf("%d%d%d",&u,&v,&w);
Edge[u][v]=w;
Edge[v][u]=w;
}
Dijkstra(1);
printf("%d\n",dist
);
}
return
0;
}
相关文章推荐
- HDOJ&nbsp;&nbsp;2537&nbsp;&nbsp;&nbsp;8球胜负
- HDOJ&nbsp;&nbsp;2203&nbsp;&nbsp;&nbsp;亲和串
- HDOJ&nbsp;&nbsp;2201&nbsp;&nbsp;&nbsp;熊猫阿波的故事
- HDOJ&nbsp;&nbsp;1875&nbsp;&nbsp;&nbsp;畅通工程再续
- HDOJ&nbsp;&nbsp;1874&nbsp;&nbsp;&nbsp;畅通工程续
- HDOJ&nbsp;&nbsp;1862&nbsp;&nbsp;&nbsp;EXCEL排序
- HDOJ&nbsp;&nbsp;1859&nbsp;&nbsp;&nbsp;最小长方形
- HDOJ&nbsp;&nbsp;1233&nbsp;&nbsp;&nbsp;还是畅通工程
- HDOJ&nbsp;&nbsp;1232&nbsp;&nbsp;&nbsp;&nbsp;畅通工程
- HDOJ&nbsp;&nbsp;1022&nbsp;&nbsp;&nbsp;Train&nbsp;Problem&nbsp;I
- HDOJ&nbsp;1015&nbsp;&nbsp;&nbsp;Safecracker
- HDOJ&nbsp;&nbsp;1039&nbsp;&nbsp;&nbsp;Easier&nbsp;Done&nbsp;Than&nbsp;Sa…
- HDOJ&nbsp;&nbsp;1020&nbsp;&nbsp;&nbsp;Encoding
- HDOJ&nbsp;&nbsp;1061&nbsp;&nbsp;Rightmost&nbsp;Digit
- HDOJ&nbsp;&nbsp;2069&nbsp;&nbsp;&nbsp;&nbsp;Coin&nbsp;Change
- HDOJ&nbsp;&nbsp;2700&nbsp;&nbsp;&nbsp;Parity
- HDOJ&nbsp;&nbsp;&nbsp;2568&nbsp;&nbsp;&nbsp;前进
- HDOJ&nbsp;&nbsp;2567&nbsp;&nbsp;&nbsp;寻梦
- HDOJ&nbsp;&nbsp;2562&nbsp;&nbsp;&nbsp;奇偶位互换
- HDOJ&nbsp;&nbsp;&nbsp;2561&nbsp;&nbsp;&nbsp;第二小整数