Cod sursa(job #767479)

Utilizator MenolanosAndrei Nicu Menolanos Data 13 iulie 2012 17:12:32
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int n, a[1001][1001];

int main()
{
	int i, j, k;

	f >> n ;

	for (i=0; i<n; i++)
		for (j=0; j<n; j++)
			f >> a[i][j];

	for(k=0; k<n; k++)
		for(i=0; i< n; i++)
			for(j=0; j<n; j++)
				if(a[i][k] && a[k][j] &&
				  (a[i][j]>a[i][k]+a[k][j] || !a[i][j])
					a[i][j]=a[i][k]+a[k][j];

	for (i=0; i<n; i++)
	{
		for (j=0; j<n; j++)
			g << a[i][j] << ' ';

		g << '\n';
	}

	return 0;
}