Cod sursa(job #143683)

Utilizator ProstuStefan-Alexandru Filip Prostu Data 26 februarie 2008 19:27:54
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int main(void) {
	freopen("royfloyd.in", "rt", stdin);
	freopen("royfloyd.out", "wt", stdout);
	int N;

	scanf(" %d", &N);

	int A[N][N];
	int i, j, k;

	for (i = 0; i < N; ++i)
		for (j = 0; j < N; ++j)
			scanf(" %d", A[i] + j);
	
	for (k = 0; k < N; ++k)
		for (i = 0; i < N; ++i)
			for (j = 0; j < N; ++j)
				A[i][j] = min(A[i][j], A[i][k] + A[k][j]);
	
	for (i = 0; i < N; ++i) {
		for (j = 0; j < N; ++j)
			printf("%d ", A[i][j]);
		printf("\n");
	}

	return 0;
}