Cod sursa(job #715733)

Utilizator XladhenianGrigorita Vlad-Stefan Xladhenian Data 17 martie 2012 17:42:13
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
                                                     
#include <fstream>
using namespace std;

long M[101][101];

long minim(long a,long b)
{
 return (a < b) ? a : b;
}

int main(void)
{
 fstream fin("royfloyd.in",ios::in);
 fstream fout("royfloyd.out",ios::out);
 long N,k,i,j;
 fin >> N;
 for (i = 0;i < N;i += 1)
  {
   for (j = 0;j < N;j += 1)
    {
     fin >> M[i][j];
    }
  }
 for (k = 0;k < N;k += 1)
  {
   for (i = 0;i < N;i += 1)
    {
     for (j = 0;j < N;j += 1)
      {
       M[i][j] = minim(M[i][j],M[i][k] + M[k][j]);
      }
    }
  }
 for (i = 0;i < N;i += 1)
  {
   for (j = 0;j < N;j += 1)
    {
     fout << M[i][j] << " ";
    }
   fout << "\n";
  }
 fin.close();
 fout.close();
 return 0;
}