Cod sursa(job #745398)

Utilizator adysnookAdrian Munteanu adysnook Data 11 mai 2012 14:54:10
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

using namespace std;

#define N 100

int n, a[N][N];

int main(){
	ifstream fin("royfloyd.in");
	fin>>n;
	int i, j, k;
	for(i=0; i<n; i++)
		for(j=0; j<n; j++)
			fin>>a[i][j];
	fin.close();
	ofstream fout("royfloyd.out");
	for(k=0; k<n; k++)
		for(i=0; i<n; i++)
			for(j=0; j<n; j++){
				if(i==j || !a[i][k] || !a[k][j])
					continue;
				a[i][j]=min(a[i][j], a[i][k]+a[k][j]);
			}
	for(i=0; i<n; i++){
		for(j=0; j<n; j++)
			fout<<a[i][j]<<" ";
		fout<<"\n";
	}
	fout.close();
	return 0;
}