Cod sursa(job #668349)

Utilizator hunter_ionutzzzFarcas Ionut hunter_ionutzzz Data 24 ianuarie 2012 18:54:36
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;

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