Cod sursa(job #1298699)

Utilizator LycrsTrifan Tamara Lycrs Data 23 decembrie 2014 00:59:12
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
using namespace std;

ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");

int a[105][105], i, j, k, n;

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

    for (i=1; i<=n; ++i)
    {
        for (j=1; j<=n; ++j)
            cout<<a[i][j]<<' ';
        cout<<'\n';
    }

    return 0;
}