Cod sursa(job #1193471)

Utilizator pavlov.ionPavlov Ion pavlov.ion Data 31 mai 2014 20:44:11
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>
int main () {
	int N;
	int C[101][101];
	int k,i,j;
	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++)
			for(j=1;j<=N;j++)
				if (C[i][k]!=0 && C[k][j] && (C[i][j]>C[i][k]+C[k][j] || C[k][j]==0) &&
				 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");
	}
	fclose(stdin);
	fclose(stdout);
return 0;
}