Cod sursa(job #1909941)

Utilizator Emil64Emil Centiu Emil64 Data 7 martie 2017 14:47:13
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int m[101][101]={0}, i, j, k, n;
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");
    f >> n;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            f >> m[i][j];
    for(k=1; k<=n; k++)
        for(i=1; i<=n; i++)
            for(j=1; j<=n; j++)
                if(i!=j && m[i][k] && m[k][j] && (!m[i][j] || 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++)
            g << m[i][j] << " ";
        g << "\n";
    }
}