Cod sursa(job #2426674)

Utilizator TheShark62FMI Cristian-Andrei Ionescu TheShark62 Data 29 mai 2019 00:27:23
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>
#include<algorithm>

using namespace std;


int main() {
	ifstream in("royfloyd.in");
	ofstream out("royfloyd.out");

	unsigned int n;
	unsigned int A[101][101];

	in >> n;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			in >> A[i][j];
	in.close();

	for (unsigned int k = 1; k <= n; k++)
		for (int i = 1; i <= n; i++)
			for (int j = 1; j <= n; j++)
				if (A[i][k] && A[k][j] && (A[i][j] > A[i][k] + A[k][j] || !A[i][j]) && i != j)
					A[i][j] = A[i][k] + A[k][j];

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++)
			out << A[i][j] << ' ';
		out << '\n';
	}

	out.close();

	return 0;
}