Cod sursa(job #877746)

Utilizator alexteStefanescu Alexandru Catalin alexte Data 13 februarie 2013 09:39:28
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
int n,i,j,k,a[105][105];
using namespace std;
int main()
{
    ifstream fin("royfloyd.in");
    ofstream fout("royfloyd.out");
    fin>>n;
    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
            a[i][j]=0;
    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
            fin>>a[i][j];
    for(k=1;k<=n;++k)
        for(i=1;i<=n;++i)
            for(j=1;j<=n;++j)
                if(a[i][j]>a[k][j]+a[i][k]&&a[i][k]&&a[k][i]) a[i][j]=a[k][j]+a[i][k];
    for(i=1;i<=n;++i)
    {
        for(j=1;j<=n;++j)
            fout<<a[i][j]<<' ';
        fout<<endl;
    }
    return 0;
}