Cod sursa(job #2394988)

Utilizator tigeraOprea Tereza Emilia tigera Data 2 aprilie 2019 09:42:10
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>
#define INF 100001

using namespace std;

ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");

int a[110][110], n;

int main()
{
    fin >> n;
    for (int i=1; i<=n; i++)
        for (int j=1; j<=n; j++)
            a[i][j] = 100001;
    for (int i=1; i<=n; i++)
        for (int j=1; j<=n; j++)
            fin >> 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 (i!=k && j!=k && a[i][k]!=INF && a[k][j]!=INF)
                    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 (a[i][j] == INF)
                fout << 0 << ' ';
             else
                fout << a[i][j] << ' ';
         }
         fout << '\n';
    }

}