Cod sursa(job #2233810)

Utilizator Steff94Stefan Steff94 Data 24 august 2018 15:33:26
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
#include<fstream>
using namespace std;

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

void roy_floyd(int N, int **mat) {
	for (int k = 1; k <= N; k++)
		for (int i = 1; i <= N; i++)
			for (int j = 1; j <= N; j++)
				if (mat[i][j] > mat[i][k] + mat[k][j])
					mat[i][j] = mat[i][k] + mat[k][j];

	for (int i = 1; i <= N; i++)
	{
		for (int j = 1; j <= N; j++)
			g << mat[i][j] << " ";
		g << endl;
	}
}

int main()
{
	int N; 	f >> N;
	int **mat = new int*[N+1];
	for (int i = 1; i <= N; i++) {
		mat[i] = new int[N+1];
	}

	for (int i = 1; i <= N; i++)
		for (int j = 1; j <= N; j++)
			f >> mat[i][j];

	roy_floyd(N, mat);
	return 0;
}