Pagini recente » Cod sursa (job #2149400) | Cod sursa (job #332900) | Cod sursa (job #1968541) | Cod sursa (job #1302077) | Cod sursa (job #286809)
Cod sursa(job #286809)
#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,a,b,c;
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" ,&a ,&b ,&c);
x[i]=a;
y[i]=b;
cost[i]=c;
}
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;
}