Cod sursa(job #394409)

Utilizator preda_alexandruPreda Alexandru preda_alexandru Data 10 februarie 2010 20:27:35
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream.h>
#include<fstream.h>

int main()
{
int n,a[101][101],i,j,k;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
fin>>n;
for(i=1;i<=n;i++)
	for(j=1;j<=n;j++){
					 fin>>a[i][j];
					 if(a[i][j]==0)a[i][j]=1001;
					 }
for(i=1;i<=n;i++)a[i][i]=0;
for(i=1;i<=n;i++)
	for(j=1;j<=n;j++)
		for(k=1;k<=n;k++)if(a[j][k]>a[j][i]+a[i][k])a[j][k]=a[j][i]+a[i][k];
for(i=1;i<=n;i++)
	{
	for(j=1;j<=n;j++)if(a[i][j]==1001)fout<<"0 ";
					 else fout<<a[i][j]<<' ';
	fout<<'\n';
	}
return 0;
}