Cod sursa(job #238757)

Utilizator bacerandreiBacer Andrei bacerandrei Data 3 ianuarie 2009 10:51:06
Problema Floyd-Warshall/Roy-Floyd Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream.h>
#define INF 10000

long a[100][100] , n , i , j , k;


void lungime_drumuri()
{
  int i , j , k;
   for(k = 1 ; k <= n ; k++)
    for(i = 1 ; i <= n ; i++)
     for(j = 1 ; j <= n ; j++)
      if(a[i][j] > a[i][k] + a[k][j])
       a[i][j] = a[i][k] + a[k][j];
}




int main()
{
  ifstream f("royfloyd.in");
  ofstream g("royfloyd.out");
   f>>n;
    for(i = 1 ; i <= n ; i++)
     for(j = 1 ; j <= n ; j++)
       f>>a[i][j];
    lungime_drumuri();
   for(i = 1 ; i <= n ; i++)
   {
    for(j = 1 ; j <= n ; j++)
     g<<a[i][j]<<" ";
    g<<"\n";
   }
  f.close();
  g.close();
 return 0;
}