Cod sursa(job #2181722)

Utilizator VarticeanNicolae Varticean Varticean Data 21 martie 2018 20:12:48
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int A[105][105], n;
int main()
{
     in >> n;
     for( int i=1; i<=n; i++)
          for(int j=1; j<=n; j++)
            in >> A[i][j];


     for(int k=1; k<=n; k++)
          for(int i=1; i<=n; i++)
          for( int j=1; j<=n; j++)
     if( A[i][k] && A[k][j] && ( A[i][j] > A[i][k]+A[k][j] || !A[i][j]) && i != j)
          A[i][j]= A[i][k] + A[k][j];


     for(int i=1; i<=n; i++)
     {
          for(int j=1; j<=n; j++)
              out << A[i][j] << ' ';
          out << '\n';
     }


    return 0;
}