Cod sursa(job #628962)

Utilizator d.andreiDiaconeasa Andrei d.andrei Data 2 noiembrie 2011 14:49:10
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <algorithm>
#include <cstdio>

using namespace std;

#define file_in "royfloyd.in"
#define file_out "royfloyd.out"

int i,j,k,n,a[111][111];

int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &n);
	for (i=1;i<=n;++i){
		 for (j=1;j<=n;++j){
			  scanf("%d", &a[i][j]);
			  if (a[i][j]==0) a[i][j]=0x3f3f3f3f;
		 }
		 a[i][i]=0;
}

		 
	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],a[i][k]+a[k][j]);
				  
	for (i=1;i<=n;++i){
         for (j=1;j<=n;++j)
              printf("%d ", a[i][j]);
         printf("\n");

	}

	return 0;
	
}