Cod sursa(job #2210770)

Utilizator primeBasso Nicolae prime Data 7 iunie 2018 21:21:10
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;

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

int a[101][101], i, j, k, n;

int main(){
	in >> n;
	
	for(i = 1; i <= n; i++)
		for(j = 1; j <= n; j++)
			in >> a[i][j];
			
	for(i = 1; i <= n; i++)
		a[i][i] = 0;
		
	for(i = 1; i <= n; i++)
		for(j = 1; j <= n; j++)
			for(k = 1; k <= n; k++)
				if(a[j][i] && a[i][k] && j != k && (a[j][k] > a[j][i] + a[i][k] || !a[j][k]))
					a[j][k] = a[j][i] + a[i][k];
					
	for(i = 1; i <= n; i++, out << "\n")
		for(j = 1; j <= n; j++)
			out << a[i][j] << " ";
					
	return 0;
}