Cod sursa(job #642067)

Utilizator andreea29Iorga Andreea andreea29 Data 30 noiembrie 2011 15:39:52
Problema Floyd-Warshall/Roy-Floyd Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
using namespace std;
int d[1010][1010];
int main()
{
	int i, n, j, k,  l, m;
	ifstream f("royfloyd.in");
	ofstream h("royfloyd.out");
	f>>n;
	for (l=1; l<=n; l++)
		for (m=1; m<=n; m++)
		{
			f>>d[l][m];
			if (d[l][m]==0 && l!=m)
				d[l][m]=0x3f3f3f3f;
		}
		
	for (k=1; k<=n; k++)
		for (i=1; i<=n; i++)
			for (j=1; j<=n; j++)
				if (d[i][k]+d[k][j]<d[i][j])
					d[i][j]=d[i][k]+d[k][j];
				
	for (l=1; l<=n; l++)
	{	for (m=1; m<=n; m++)
		{
			if (d[l][m]==0x3f3f3f3f)
				h<<"0 ";
			else
				h<<d[l][m]<<" ";
		}
	h<<'\n';
	}
	
		
	f.close();
	h.close();
	return 0;
}