Cod sursa(job #2447769)

Utilizator al3xionescuIonescu Alexandru al3xionescu Data 14 august 2019 15:41:56
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n, a[101][101], z, i, j, k;
int main() {
	fin >> n;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n; j++) {
			fin >> z;
			a[i][j] = z;
		}
	}
	for (k = 1; k <= n; k++) {
		for (i = 1; i <= n; i++) {
			for (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 (i = 1; i <= n; i++) {
		for (j = 1; j <= n; j++) {
			fout << a[i][j] << ' ';
			fout << '\n';
		}
	}
	return 0;
}