Cod sursa(job #1049808)

Utilizator SzymonSidorSzymonSidor SzymonSidor Data 7 decembrie 2013 20:11:30
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <algorithm>
#include <iostream>
#include <fstream>

#define MAX 128

using namespace std;

int n;
int dist[MAX][MAX];

int main() {
	ifstream cin("royfloyd.in");
	ofstream cout("royfloyd.out");

	cin >> n;

	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			cin >> dist[i][j];

	for (int interm = 1; interm <= n; interm++)
		for (int start = 1; start <= n; start++)
			for (int end = 1; end <= n; end++)
				dist[start][end] = min(dist[start][end], dist[start][interm] + dist[interm][end]);

	for (int i = 1; i <= n; cout << "\n", i++)
		for (int j = 1; j <= n; j++)
			cout << dist[i][j] << " ";

	return 0;
}