Cod sursa(job #2545571)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 13 februarie 2020 11:53:26
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout("royfloyd.out");
int n, a[105][105];
int main ()
{
     fin>>n;
     for(int i=1;i<=n;i++)
          for(int j=1;j<=n;j++)
               fin>>a[i][j];

     for(int nod=1;nod<=n;nod++)
          for(int i=1;i<=n;i++)
               for(int j=1;j<=n;j++)
                    if(i!=j&&a[i][nod]!=0&&a[nod][j]!=0&&(a[i][j]>a[i][nod]+a[nod][j]||a[i][j]==0))
                         a[i][j]=a[i][nod]+a[nod][j];

     for(int i=1;i<=n;i++)
     {
          for(int j=1;j<=n;j++)
               fout<<a[i][j]<<" ";
          fout<<"\n";
     }
     return 0;
}