Cod sursa(job #165183)

Utilizator savimSerban Andrei Stan savim Data 25 martie 2008 17:55:01
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
int c[110][110];
int n,i,j,k;
int main()
{
	freopen("royfloyd.in","r",stdin);
	freopen("royfloyd.out","w",stdout);

	scanf("%d ",&n);
	for (i=1; i<=n; i++)
		for (j=1; j<=n; j++)
			scanf("%d",&c[i][j]);

	for (k=1; k<=n; k++)
		for (i=1; i<=n; i++)
			if (i!=k)
			for (j=1; j<=n; j++)
				if (j!=k && j!=i)
				if (c[i][k]+c[k][j]<c[i][j]) c[i][j]=c[i][k]+c[k][j];

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