Cod sursa(job #2082616)

Utilizator Zamfirescuste2Zamfirescu Stefan Zamfirescuste2 Data 6 decembrie 2017 16:46:23
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;
int a[101][101],d[101][101],n,i,j,k;
int main()
{
    freopen( "royfloyd.in", "r", stdin);
    freopen( "royfloyd.out", "w", stdout);
    scanf( "%d", &n );
    for (i = 1; i <= n; i++ )
        for (j = 1; j <= n; j++ )
        {
            scanf( "%d", &a[i][j] );
            d[i][j] = a[i][j];
        }
    for ( k = 1; k <= n; k++ )
        for (i = 1; i <= n; i++ )
            for (j = 1; j <= n; j++)
                if ( i != j && d[i][j] > d[i][k] + d[k][j] && d[i][k] != 0 && d[k][j] != 0 )
                    d[i][j] = d[i][k] + d[k][j];
    for (i = 1; i <= n; i++ )
    {
        for (j = 1; j <= n; j++ )
            printf("%d ", d[i][j] );
        printf("\n");
    }

    return 0;
}