Cod sursa(job #390768)

Utilizator victor_bla_blaDumitrescu Victor victor_bla_bla Data 4 februarie 2010 15:12:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#define Inf 1001
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
long long a[101][101],n,i,x,y,z;
//x- vf. plecare y- vf. destinatie z- vf. intermediar
long long min(long long,long long);
int main()
{
	fin>>n;
	for (x=1;x<=n;x++)
		for (y=1;y<=n;y++)
		{
			fin>>a[x][y];
			if (!a[x][y]&&x!=y) a[x][y]=Inf;
		}
	for (z=1;z<=n;z++)
		for (x=1;x<=n;x++)
			for (y=1;y<=n;y++)
				a[x][y]=min(a[x][y],a[x][z]+a[z][y]);
	for (x=1;x<=n;x++)
	{
		for (y=1;y<=n;y++)
			fout<<a[x][y]<<' ';
		fout<<'\n';
	}
fout.close();
return 0;}
long long min(long long a, long long b)
{if (a<=b) return a; return b;}