Cod sursa(job #372800)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 11 decembrie 2009 18:35:51
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>
int v[10000][3],c[10000],i,x,y,j,ok; 
int main()
{
	freopen("dijkstra.in","r",stdin);
//	freopen("dijkstra.out","w",stdout);
	scanf("%d %d",&x, &y);
	for(i=1;i<=y;i++){scanf("%d %d %d",&v[i][0],&v[i][1],&v[i][2]);if(v[i][1]==0)c[v[i][1]]=v[i][2];}
	for(i=2;i<=x;i++)c[i]=2000000000;
	while(!ok)
	{
		ok=1;
		for(j=1;j<=y;j++)
			if(c[v[j][1]]>c[j]+c[v[j][0]])
					c[v[j][1]]=c[j]+c[v[j][0]],ok=0;
	}
	for(i=2;i<=x;i++)printf("%d ",c[i]);
	return 0;
}