Cod sursa(job #567477)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 30 martie 2011 09:03:40
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>

using namespace std;

#define Nmax 101

int N, G[Nmax][Nmax];

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

int main() {
	int i, j, k;
	
	f>>N;
	for(i=1; i<=N; i++)
		for(j=1; j<=N; j++) 
			f>>G[i][j];
	for(k=1; k<=N; k++)
		for(i=1; i<=N; i++)
			for(j=1; j<=N; j++)
				if(G[i][k] && G[k][j] && (G[i][j]>G[i][k]+G[k][j] || !G[i][j]) && i!=j)
					G[i][j]=G[i][k]+G[k][j];
	for(i=1; i<=N; i++) {
		for(j=1; j<=N; j++)
			g<<G[i][j]<<" ";
		g<<"\n";
	}
	
	f.close(); g.close();
	
	return 0;
}