Cod sursa(job #409825)

Utilizator moonRadu Chichi moon Data 3 martie 2010 21:29:53
Problema Algoritmul lui Dijkstra Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream.h>
#define INF 32000
int a[250001][4],d[50001],n,k,ok=1,i,j,c,m,nr=1;

ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int main()
{
    f>>n>>m;
	for(i=2;i<=n;i++)
		d[i]=INF;
	
	d[1]=0;
	
	for(i=1;i<=m;i++)
	{
		f>>a[i][1]>>a[i][2]>>a[i][3];
		if(a[i][1]==1) d[a[i][2]]=a[i][3];
	}
	

	for(j=1;j<=n;j++)
	{
			for(k=1;k<=m;k++)
				if(d[a[k][2]]>d[a[k][1]]+a[k][3])
					d[a[k][2]]=d[a[k][1]]+a[k][3];
			nr++;
	}

for(i=2;i<=n;i++) if(d[i]<INF) g<<d[i]<<" ";
else g<<0<<" ";
return 0;
}