Cod sursa(job #2296598)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 4 decembrie 2018 20:28:48
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#define inf 200000000
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n,k,i,j,a[101][101];
int main()
{
   fin>>n;
   for(i=1;i<=n;i++)
   for(j=1;j<=n;j++){
      fin>>a[i][j];
      if(a[i][j]==0)
            a[i][j]=inf;
   }
   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]&&i!=j)
                        a[i][j]=a[i][k]+a[k][j];
            }
      }
   }
     for(i=1;i<=n;i++){
   for(j=1;j<=n;j++){
         if (a[i][j]<inf)
         fout<<a[i][j]<<" ";
      else
            fout<<0<<" ";
   }
   fout<<"\n";
     }
}