Cod sursa(job #2181702)

Utilizator VarticeanNicolae Varticean Varticean Data 21 martie 2018 20:04:30
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int A[105][105],n;
int main()
{
    ios::sync_with_stdio(0);
    in >> n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
         {
             in >> A[i][j];
             if( i!=j && A[i][j] == 0 ) A[i][j] = 1 << 30;
         }
    for(int k=1; k<=n; k++)
        for(int i=1; i<=n; i++)
          for(int j=1   ; j<=n; j++)
          A[i][j] = min( A[i][j], A[i][k] + A[k][j]);

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

    return 0;
}