Cod sursa(job #1438029)

Utilizator RazvanSSavu Razvan RazvanS Data 18 mai 2015 22:32:09
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.9 kb
/* 
 * File:   main.c
 * Author: Razvan
 *
 * Created on May 18, 2015, 10:12 PM
 */

#include <stdio.h>
#include <stdlib.h>

#define FILE_IN "royfloyd.in"
#define FILE_OUT "royfloyd.out"
#define MAX_P 100000
#define MAX_N 100

int n, c[MAX_N][MAX_N], i, j, k, s;

/*
 * 
 */
int main(int argc, char** argv) {
    freopen(FILE_IN, "r", stdin);
    freopen(FILE_OUT, "w", stdout);
    scanf("%d", &n);
    for(i=0; i<n; ++i)
        for (j=0;j<n;++j)
        {
            scanf("%d", c[i]+j);
            if (!c[i][j])
                c[i][j] = MAX_P;
        }
    for(k=0;k<n;++k)
        for(i=0;i<n;++i)
            for(j=0;j<n;++j)
                if (i!=j && (s = c[i][k] + c[k][j]) < c[i][j])
                    c[i][j] = s;
    for(i=0;i<n;++i, printf("\n"))
        for(j=0;j<n;++j)
            printf("%d ", c[i][j] != MAX_P ? c[i][j] : 0);
    return (EXIT_SUCCESS);
}