Pagini recente » Cod sursa (job #1180202) | Cod sursa (job #1999359) | Cod sursa (job #1292612) | Cod sursa (job #977574) | Cod sursa (job #279197)
Cod sursa(job #279197)
#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("%d%d%d",&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("%d ",d[i]);
//else printf("0");
return 0;
}