Cod sursa(job #168333)

Utilizator fogabFodor Gabor fogab Data 31 martie 2008 00:08:28
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>

int main(void){
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int n,j,i,k;

fin >> n;

int x[n][n];

for (i=0;i<n;i++)
 for (j=0;j<n;j++)
   {
   fin >> x[i][j];
   }

for (k=0;k<n;k++)   
 for (i=0;i<n;i++)
  for (j=0;j<n;j++)   
    if (i!=j && x[i][k] && x[k][j] && (x[i][k] + x[k][j] < x[i][j] || !x[i][j]) )
      x[i][j] = x[i][k] + x[k][j];
      
for (i=0;i<n;i++){   
 for (j=0;j<n;j++)
   fout << x[i][j] << " ";
 fout << "\n";   
 }  

fin.close();
fout.close();

return 0;    
}