Cod sursa(job #1379120)

Utilizator PescaruVictorPescaru Victor PescaruVictor Data 6 martie 2015 16:24:50
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

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

int n;
int M[109][109];

int main()
{
    int i, j, k;
    fin>>n;
    for(i=1; i<=n; ++i)
        for(j=1; j<=n; ++j)
        {
            fin>>M[i][j];
            if(i!=j && !M[i][j])
                M[i][j]=1000000000;
        }
    for(k=1; k<=n; ++k)
        for(i=1; i<=n; ++i)
            for(j=1; j<=n; ++j)
                if(M[i][j]>M[i][k]+M[k][j])
                    M[i][j]=M[i][k]+M[k][j];
    for(i=1; i<=n; ++i)
    {
        for(j=1; j<=n; ++j)
            fout<<M[i][j]<<' ';
        fout<<'\n';
    }
    fout.close();
    return 0;
}