Cod sursa(job #1376114)

Utilizator valentin50517Vozian Valentin valentin50517 Data 5 martie 2015 16:03:05
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <algorithm>
using namespace std;
int A[105][105],N;
int main(){
	ifstream fin("royfloyd.in");
	ofstream fout("royfloyd.out");
	fin >> N;
	for(int i = 0;i<N;i++){
		for(int j = 0;j<N;j++){
			fin >> A[i][j];
		}
	}
	for(int k = 0;k<N;k++){
		for(int i = 0;i<N;i++){
		    for(int j = 0;j<N;j++){
				if(A[i][k] && A[k][j] && (A[i][k]+A[k][j] < A[i][j] || !A[i][j]) && i != j) A[i][j] = A[i][k] + A[k][j];
		    } 
		}
	}
	for(int i = 0;i<N;i++){
		for(int j = 0;j<N;j++){
			fout << A[i][j] << ' ';
		}
		fout << '\n';
	}
	
	return 0;
}