Cod sursa(job #152267)

Utilizator DorinOltean Dorin Dorin Data 9 martie 2008 12:06:31
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
# include <stdio.h>

# define input "royfloyd.in"
# define output "royfloyd.out"

# define MAX 1025
# define min(a,b) (a<b?a:b)

int a[MAX][MAX];
int i,j,k,n;
int main()
{
    freopen(input, "r", stdin);
    freopen(output, "w",stdout);
    
    scanf("%d",&n);
 
    for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
       scanf("%d",&a[i][j]);
    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;
}