Cod sursa(job #767446)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 13 iulie 2012 15:46:57
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int n, a[105][105];
const int inf=int (2e8);
int main(void)
{
	fstream f,g;
	f.open("royfloyd.in",ios::in);
	g.open("royfloyd.out",ios::out);
	f>>n;
	int i,j,k;
	for(i=1;i<=n;i++)
		for (j=1;j<=n;j++)
		{
			f>>a[i][j];
			if (a[i][j]==0) a[i][j]=inf;
		}
	for (k=1;k<=n;k++)
		for (i=1;i<=n;i++)
			for (j=1;j<=n;j++)
				if (i!=j && i!=k && j!=k)
					a[i][j]=min(a[i][j],a[k][j]+a[i][k]);
	for (i=1;i<=n;i++){
		for (j=1;j<=n;j++)
			g<<a[i][j]<<" ";
		g<<'\n';
	}
}