Cod sursa(job #1042348)

Utilizator s4d1ckOrtan Seby s4d1ck Data 26 noiembrie 2013 21:41:23
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <iostream>
#include <climits>

using namespace std;

int main(){
	const char fin[] = "royfloyd.in";
	const char fout[] = "royfloyd.out";
	ifstream f(fin);
	ofstream g(fout);
	
	int n;
	f>>n;
	int a[n][n], i, j, k;
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
			f>>a[i][j];
	f.close();	
	
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
			for (k = 0; k < n; k++)
				if (a[i][j] != 0 && a[j][k] != 0 && a[i][k] != 0 && a[i][j] + a[j][k] < a[i][k]) a[i][k] = a[i][j] + a[j][k]; 
	
	for (i = 0; i < n; i++){
		for (j = 0; j < n; j++)
			g<<a[i][j]<<" ";
		g<<endl;
	}
	g.close();
	return 0;
}