Cod sursa(job #2042312)

Utilizator patcasrarespatcas rares danut patcasrares Data 18 octombrie 2017 13:17:35
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 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 h=1;h<=n;h++)
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            if(i!=j)
            if(a[i][h]&&a[h][j])
        {
                a[i][j]=min(a[i][j],a[i][h]+a[h][j]);
                if(a[i][j]==0)
                    a[i][j]=a[i][h]+a[h][j];
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            fout<<a[i][j]<<' ';
        fout<<'\n';
    }
}