Cod sursa(job #487631)

Utilizator ClasianMunteanu Petre Clasian Data 25 septembrie 2010 20:59:38
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<cstdio>
#include<algorithm>
#define inf 100000
using namespace std;
int main()
{ freopen("royfloyd.in","r",stdin);
  freopen("royfloyd.out","w",stdout);
  int n,a[101][101],i,j,k;
  scanf("%d",&n); 
  for(i=1;i<=n;i++) 
	  for(j=1;j<=n;j++) { scanf("%d",&a[i][j]);
									   if(!a[i][j])a[i][j]=inf;
									  }
  for(k=1;k<=n;k++) 
	  for(i=1;i<=n;i++) 
		  for(j=1;j<=n;j++) 
	  a[i][j]=-max(-a[i][j],-a[i][k]-a[k][j]);
  for(i=1;i<=n;i++) {
	  for(j=1;j<=n;j++)  if(a[i][j]==inf)printf("0 ");
	  else if(i==j)printf("0 ");
	  else printf("%d ",a[i][j]);
									   printf("\n");
									  }
  return 0;
}