Cod sursa(job #2510288)

Utilizator vxpsnVictor Pusnei vxpsn Data 16 decembrie 2019 10:54:03
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

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



int main() {
	int n, a[205][205];

	in>>n;

	for(int i = 1; i <= n; ++i) {
		for(int j = 1; j <= n; ++j) {
			in>>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 && a[i][k] != 0 && a[k][j] != 0 && (a[i][j] > a[i][k] + a[k][j] || a[i][j] == 0)) {
					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";
	}

	return 0;
}