Cod sursa(job #186045)

Utilizator adrian69adrian horia adrian69 Data 26 aprilie 2008 17:07:38
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
int a[100][100],n;
int main()
{FILE *f,*g;
 f=fopen("royfloyd.in","r");
 
 g=fopen("royfloyd.out","w");
 fscanf(f,"%d",&n);
 int i,j,k;
  for(i=0;i<n;i++)
    for(j=0;j<n;j++)
       fscanf(f,"%d",&a[i][j]);
  
 for(k=0;k<n;i++)
  for(i=0;i<n;i++)
    for(j=0;j<n;j++)
       if(a[i][j]>a[i][k]+a[k][j]||!a[i][j]&&i!=j)
         a[i][j]=a[i][k]+a[k][j];
  
  
  for(i=0;i<n;i++)
    {for(j=0;j<n;j++)
       fprintf(g,"%d ",a[i][j]);
      fprintf(g,"\n"); 
     }   
 fclose(f);
 fclose(g);
}