Cod sursa(job #2198417)

Utilizator BogdanBeleiBogdan Belei BogdanBelei Data 24 aprilie 2018 15:02:58
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <queue>
#include <fstream>

using namespace std;

#define NMAX 1000
#define INF 9999999

int n;
int d[NMAX][NMAX];

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 >> d[i][j];
		}
	}

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			for (int k = 1; k <= n; k++) {
				d[i][j] = d[i][j] < d[i][k] + d[k][j] ? d[i][j] : d[i][k] + d[k][j];
			}
		}
	}

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

	return 0;
}