Pagini recente » Cod sursa (job #2331511) | Cod sursa (job #1505568) | Cod sursa (job #609710) | Cod sursa (job #1859687) | Cod sursa (job #279211)
Cod sursa(job #279211)
#include<stdio.h>
#define inf 100000
long n,m,i,gata;
long d[10000];
struct muchie{long x,y,c;}a[10000];
void citire()
{freopen("dijkstra.in","r",stdin);
freopen("dijkstra.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
scanf("%ld%ld%ld",&a[i].x,&a[i].y,&a[i].c);
}
int main()
{citire();
for(i=2;i<=n;i++)
d[i]=inf;
for(i=1;i<=m;i++)
if(a[i].x==1)d[a[i].y]=a[i].c;
gata=0;
while(!gata)
{ gata=1;
for(i=1;i<=m;i++)
if(d[a[i].y]>d[a[i].x]+a[i].c)
{d[a[i].y]=d[a[i].x]+a[i].c;
gata=0;
}
}
for(i=2;i<=n;i++)
if(d[i]!=inf)printf("%ld ",d[i]);
//else printf("0");
return 0;
}