Cod sursa(job #144019)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 27 februarie 2008 02:12:34
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
long int n,i,j,k,dist,a[102][102];
int main()
{
	FILE *f,*g;f=fopen("royfloyd.in","r");g=fopen("royfloyd.out","w");
	fscanf(f,"%ld",&n);
	for(i=1;i<=n;i++)
	 for(j=1;j<=n;j++)
	  fscanf(f,"%ld",&a[i][j]);
	for(k=1;k<=n;k++)
	 for(i=1;i<=n;i++)
	  for(j=1;j<=n;j++)
	    if(a[i][k]&&a[k][j])
	      {  dist=a[i][k]+a[k][j];
		 if((!a[i][j])||(a[i][j]>dist))
		   a[i][j]=dist;
	      }
	for(i=1;i<=1;i++)
	 { for(j=1;j<=n;j++)
	    fprintf(g,"%ld ",a[i][j]);
	    fprintf(g,"\n");
	 }
	fcloseall();return 0;
}