Pagini recente » Cod sursa (job #906135) | Cod sursa (job #286802)
Cod sursa(job #286802)
#include <stdio.h>;
#define inf 2000000000
#define nmax 50002
long x[5*nmax],y[5*nmax],cost[5*nmax],d[nmax],p,n,m,i;
int main()
{
freopen("dijkstra.in","r",stdin);
freopen("dijkstra.out","w",stdout);
scanf("%ld %ld",&n,&m);
for (i=1;i<=m;i++)
scanf("%ld %ld %ld" ,&x[i] ,&y[i] ,&cost[i]);
for (i=2;i<=n;i++)
d[i]=inf;
p=1;
while (p==1)
{
p=0;
for (i=1;i<m;i++)
if(d[y[i]]>(d[x[i]]+cost[i]))
{
p=1;
d[y[i]]=d[x[i]]+cost[i];
}
}
for (i=2;i<=n;++i)
if (d[i]!=inf) printf("%ld ",d[i]);
else printf("0 ");
return 0;
}