Cod sursa(job #1112570)

Utilizator a96tudorAvram Tudor a96tudor Data 19 februarie 2014 20:59:52
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<cstdio>
#define N_MAX 110
using namespace std;
int A[N_MAX][N_MAX],N;
int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);
    scanf("%d",&N);
    for (int i=1;i<=N;++i)
        for (int j=1;j<=N;++j) scanf("%d",&A[i][j]);
    for (int k=1;k<=N;++k)
        for (int i=1;i<=N;++i)
            for (int j=1;j<=N;++j)
                if (i!=j && A[i][j] > A[k][j] + A[i][k]) A[i][j]= A[k][j] + A[i][k];
    for (int i=1;i<=N;++i)
    {
        for (int j=1;j<=N;++j) printf("%d ",A[i][j]);
        printf("\n");
    }
    fclose(stdin); fclose(stdout);
    return 0;
}