Cod sursa(job #786900)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 12 septembrie 2012 12:30:48
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
using namespace std;
#define Max 101

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int N;
int V[Max][Max];

int main(){
	
	fin>>N;
	for(int i=1;i<=N;i++){
		for(int j=1;j<=N;j++){
			fin>>V[i][j];
		}
	}
	
	for(int k=1;k<=N;k++){
		for(int i=1;i<=N;i++){
			for(int j=1;j<=N;j++){
				if(V[i][j] > V[i][k] + V[k][j] || (!V[i][j] && i!=j))
				V[i][j]= V[i][k] + V[k][j];
			}
		}
	}
	
	for(int i=1;i<=N;i++){
		for(int j=1;j<=N;j++){
			fout<<V[i][j]<<" ";
		}
		fout<<"\n";
	}
	
	return 0;
}