Cod sursa(job #703118)

Utilizator dudutCancel Radu Constantin dudut Data 2 martie 2012 11:03:51
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream>
#include<stdio.h>
using namespace std;
int a[100][100],i,j,k,n;
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",&a[i][j]);
for(k=1;k<=n;k++)
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			if((a[i][k]!=0)&&(a[k][j]!=0)&& ((a[i][k]+a[k][j]<a[i][j]) || a[i][j]==0)&& (i!=j))
				a[i][j]=a[i][k]+a[k][j];
for(i=1;i<=n;i++)
	{for(j=1;j<=n;j++)
		printf("%d ",a[i][j]);
	printf("\n");
	}
	return 0;
	
}