Cod sursa(job #1415025)

Utilizator Anonymous1010Chilivercu Cristian Anonymous1010 Data 3 aprilie 2015 16:13:37
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

#define N 100

void use_node(int k, int n, int a[][N])
{
	int i, j;

	for(i = 0; i < n; i++)
		for(j = 0; j < n; j++)
			if(a[i][j] > a[i][k] + a[k][j])
				a[i][j] = a[i][k] + a[k][j];
}

int main(void)
{
	int a[N][N];
	int i, j, k;
	int n;

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

	scanf("%d", &n);

	for(i = 0; i < n; i++)
		for(j = 0; j < n; j++)
			scanf("%d", &a[i][j]);
	
	for(k = 0; k < n; k++)
		use_node(k, n, a);

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

	return 0;
}