Cod sursa(job #887378)

Utilizator zurzic_doruzurzic zeljko zurzic_doru Data 23 februarie 2013 18:38:03
Problema Algoritmul lui Dijkstra Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
int a[1000][1000];
int main()
{
	
	int n,m,i,j,d[1000],x,c,y;
	freopen("dijkstra.in","r",stdin);
	freopen("dijkstra.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			if(i==j)
				a[i][j]=0;
			else
				a[i][j]=1000000000;
	for(i=1;i<=m;i++)
	{
		scanf("%d%d%d",&x,&y,&c);
		a[x][y]=c;
	}
	for(i=1;i<=n;i++)
		d[i]=a[1][i];
	for(i=2;i<=n;i++)
		for(j=1;j<=n;j++)
			if(d[j]>d[i]+a[i][j])
				d[j]=d[i]+a[i][j];
	for(i=2;i<=n;i++)
		if(d[i]==1000000000)
			printf("0 ");
		else
		printf("%d ",d[i]);
	return 0;
}