Cod sursa(job #1704172)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 18 mai 2016 11:07:32
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int a[105][105];
int N;

int main()
{
	f >> N;
	for (int i = 1; i <= N; ++i) {
		for (int j = 1; j <= N; ++j) {
			f >> a[i][j];
		}
	}

	for (int k = 1; k <= N; ++k)
		for (int i = 1; i <= N; ++i)
			for (int j = 1; j <= N; ++j)
				if (i != j) {
					if (a[i][k] && a[k][j] && a[i][j] > a[i][k] + a[k][j]) {
						a[i][j] = a[i][k] + a[k][j];
					}
				}

	for (int i = 1; i <= N; ++i) {
		for (int j = 1; j <= N; ++j) {
			g << a[i][j] << " ";
		}
		g << "\n";
	}
	return 0;
}