Cod sursa(job #611122)

Utilizator monica_133Monica Marinescu monica_133 Data 30 august 2011 20:30:13
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
using namespace std;

#define MAX 256
int N;
int lung[MAX][MAX],str[MAX][MAX];

void citire()
{
   ifstream f("royfloyd.in");
   f>>N;
   for(int i=0;i<N;i++)
      for(int j=0;j<N;j++)
      {
         f>>lung[i][j];
         if(i!=j)
            str[i][j] = 1;
      }
   f.close();
}

void solve()
{
   for(int k=0;k<N;k++)
      for(int i=0;i<N;i++)
         for(int j=0;j<N;j++)
            if(lung[i][j]>lung[i][k]+lung[k][j])
               lung[i][j] = lung[i][k]+lung[k][j];

   ofstream g("royfloyd.out");
   for(int i=0;i<N;i++)
   {
      for(int j=0;j<N;j++)
         g<<lung[i][j]<<" ";  
      g<<endl;
   }
   g.close();
}

int main()
{
   citire();
   solve();
   return 0;
}