Cod sursa(job #1423903)

Utilizator UAIC_HreapcaVlasNegrusUAIC Hreapca Vlas Negrus UAIC_HreapcaVlasNegrus Data 22 aprilie 2015 23:17:34
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>

using namespace std;

int N, i, j, A[110][110], 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]);
    for(k = 1; k <= N; k++)
        for(i = 1; i <= N; i++)
            for(j = 1; j <= N; j++)
            {
                if(i == k || k == j || i == j)continue;
                if(A[k][j] == 0 || A[i][k] == 0)continue;
                A[i][j] = min(A[i][j], A[i][k] + A[k][j]);
            }
    for(i = 1; i <= N; i++)
    {
        for(j = 1; j <= N; j++)
            printf("%d ",A[i][j]);
        printf("\n");
    }
    return 0;
}