Cod sursa(job #256155)

Utilizator alex.cepoiAlexandru Cepoi alex.cepoi Data 11 februarie 2009 11:50:31
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
using namespace std;
#define nmax 100

int N, A[nmax][nmax];

int main ()
{
	freopen ("royfloyd.in", "r", stdin);
	freopen ("royfloyd.out", "w", stdout);

	cin>>N;
	for (int i=0; i<N; ++i)
		for (int j=0; j<N; ++j)
			cin>>A[i][j];

	for (int k=0; k<N; ++k)
		for (int i=0; i<N; ++i)
			for (int j=0; j<N; ++j)
				if (A[i][k]+A[k][j]<A[i][j])
					A[i][j]=A[i][k]+A[k][j];

	for (int i=0; i<N; ++i)
	{
		for (int j=0; j<N; ++j)
			cout << A[i][j]<<' ';
		cout<<'\n';
	}
	return 0;
}