Cod sursa(job #1078020)

Utilizator lilian_ciobanuLilian Ciobanu lilian_ciobanu Data 11 ianuarie 2014 22:11:13
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
#include<algorithm>

using namespace std;

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


int main(){
	short int i,j,n,k,a[105][105];
	
	f>>n;
	for(i=1; i<=n; ++i)
		for(j=1; j<=n; ++j){
			f>>a[i][j];
			if(a[i][j]==0 && i!=j)
				a[i][j]=1005;
		}
	
	
	for(k=1; k<=n; ++k)
		for(i=1; i<=n; ++i)
			for(j=1; j<=n; ++j)
				a[i][j]=min(a[i][j], (short int)(a[i][k]+a[k][j]) ) ;
	
	for(i=1; i<=n; ++i){
		for(j=1; j<=n; ++j){
			if(a[i][j]>1000)
				g<<"0 ";
			else 
				g<<a[i][j]<<" ";
			
		}
		g<<"\n";
	}
	
	f.close();
	g.close();
return 0;
}