Cod sursa(job #1756239)

Utilizator irinapatularuPatularu Irina irinapatularu Data 12 septembrie 2016 13:57:00
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

int N;
int matrix[101][101];

void rezolvare(){
	int i, k, j;

	for(k = 1; k <= N; k++)
		for(i = 1; i<= N; i++)
			for(j = 1; j <= N; j++)
				if(matrix[i][k] && matrix[k][j] && i != j)
					if(matrix[i][j] > matrix[i][k] + matrix[k][j])
						matrix[i][j] = matrix[i][k] + matrix[k][j];
}
int main(){
	
	ifstream f("royfloyd.in");
	ofstream g("royfloyd.out");
	f >> N;
	for(int i = 1; i <= N; i++)
		for(int j = 1; j <= N; j++)
			f >> matrix[i][j];
	f.close();
	rezolvare();

	for(int i = 1; i<= N; i++){
		for(int j = 1; j<= N; j++)
			g << matrix[i][j] << " ";
		g << "\n";
	}
	g.close();
	return 0;

}