Cod sursa(job #2437489)

Utilizator red_devil99Mancunian Red red_devil99 Data 9 iulie 2019 17:18:51
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;

int main(){
	ifstream fin("royfloyd.in");
	ofstream fout("royfloyd.out");
	int n, a[100][100];
	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;

}