Cod sursa(job #281230)

Utilizator pandaemonAndrei Popescu pandaemon Data 13 martie 2009 22:14:11
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
#include<iostream.h>

int n,mat[102][102],i,j,k;


int main()
{

freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);

scanf("%d",&n);

for(i=1; i<=n; i++)
for(j=1; j<=n; j++)  scanf("%d",&mat[i][j]);

for(k=1; k<=n; k++)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)  

   if( i!=j && mat[i][k]!=0 && mat[k][j]!=0)
   if( mat[i][k]+mat[k][j]<mat[i][j] || mat[i][j]==0)
   mat[i][j]=mat[i][k]+mat[k][j];

for(i=1; i<=n; i++) {
for(j=1; j<=n; j++) printf("%d ",mat[i][j]);
		    printf("\n"); }

}