Cod sursa(job #1390935)

Utilizator cautionPopescu Teodor caution Data 17 martie 2015 14:17:14
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
long mat[101][101];
int main()
{
    ifstream in("royfloyd.in");
    ofstream out("royfloyd.out");
    short i, j, k, n;
    in>>n;
    for(i=1; i<=n; ++i)
        for(j=1; j<=n; ++j) in>>mat[i][j];
    for(k=1; k<=n; ++k)
        for(i=1; i<=n; ++i)
            for(j=1; j<=n; ++j)
                if(mat[i][k]!=0&&mat[k][j]!=0&&mat[i][k]+mat[k][j]<mat[i][j])
                    mat[i][j]=mat[i][k]+mat[k][j];
    for(i=1; i<=n; ++i)
    {
        for(j=1; j<=n; ++j)
            out<<mat[i][j]<<' ';
        out<<'\n';
    }
    return 0;
}