Cod sursa(job #585367)

Utilizator palcuiealexAlex Palcuie palcuiealex Data 29 aprilie 2011 00:38:34
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

const int NMAX = 2<<7;
const int INF = 1001;

int matrix[NMAX][NMAX];
int nNoduri;

int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);

    scanf("%d",&nNoduri);

    int i,j,k;

    for(i=0;i<nNoduri;++i)
        for(j=0;j<nNoduri;++j){
            scanf("%d",&matrix[i][j]);
        }

    for (k=0;k<nNoduri;++k)
        for(i=0;i<nNoduri;++i)
            for (j=0;j<nNoduri;++j)
                matrix[i][j] = min(matrix[i][j], matrix[i][k] + matrix[k][j]);

    for (i=0;i<nNoduri;++i){
        for(j=0;j<nNoduri;++j)
            printf("%d ",matrix[i][j]);
        printf("\n");
    }

    return 0;
}