Cod sursa(job #1468712)

Utilizator ArkinyStoica Alex Arkiny Data 6 august 2015 19:29:44
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<iostream>
#include<fstream>
using namespace std;

#define MAX 101

int A[MAX][MAX], N, i, j, k;

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

int main()
{
	in >> N;
	for (i = 1;i <= N;++i)
		for (j = 1;j <= N;++j)
		{
			in >> A[i][j];
		}
	for (k = 1;k <= N;++k)
		for (i = 1;i <= N;++i)
			for (j = 1;j <= N;++j)
				if ((A[i][j] > A[i][k] + A[k][j] || A[i][j]==0) && A[i][k]>0 && A[k][j]>0 && i!=j )
					A[i][j] = A[i][k] + A[k][j];

	for (i = 1;i <= N;++i)
	{
		for (j = 1;j <= N;++j)
			out << A[i][j] << ' ';
		out << '\n';
	}
	in.close();
	out.close();
	return 0;
}