Cod sursa(job #1646606)

Utilizator RaTonAndrei Raton RaTon Data 10 martie 2016 16:52:44
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int a[100][100];

int main()
{
    int n, i, j, k;
    f >> n;
    for( i = 0; i < n; i++ )
        for( j = 0; j < n; j++ )
            f >> a[i][j];
    for( k = 0; k < n; k++ )
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; j++ )
                if( a[i][k] != 0 && a[k][j] != 0 && i != j )
                    if( a[i][k] + a[k][j] < a[i][j] || a[i][j] == 0 )
                        a[i][j] = a[i][k] + a[k][j];
    for( i = 0; i < n; i++ ){
        for( j = 0; j < n; j++ )
            g << a[i][j] << " ";
        g << "\n";
    }
    return 0;
}