Cod sursa(job #492895)

Utilizator Andreid91Ciocan Andrei Andreid91 Data 16 octombrie 2010 11:57:49
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream.h>

#define min(a,b) ( (a<b) ? a:b);

int main()
{
	int v[105][105],n,i,j,k;
	ifstream f("royfloyd.in");
	ofstream g("royfloyd.out");
	
	f>>n;
	for (i=1;i<=n;i++)
		for (j=1;j<=n;j++)
			f>>v[i][j];
	
	for (k=n;k>=1;--k)
		for (i=1;i<=n;i++)
			for (j=1;j<=n;j++)
				v[i][j]=min(v[i][j],v[i][k]+v[k][j]);
	
	for (i=1;i<=n;i++)
	{
		for (j=1;j<=n;j++)
			g<<v[i][j]<<' ';
		g<<'\n';
	}
	f.close();
	g.close();
	return 0;
}