Pagini recente » Cod sursa (job #443064) | Cod sursa (job #2725525) | Cod sursa (job #960397) | Cod sursa (job #2318948) | Cod sursa (job #1145582)
/*
Keep It Simple!
*/
#include<stdio.h>
#include<string.h>
#define MaxN 105
#define inf 1<<29
int RoyFloyd[MaxN][MaxN],N;
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&N);
for(int i=1; i<=N; i++)
for(int j=1; j<=N; j++)
{
scanf("%d",&RoyFloyd[i][j]);
if(RoyFloyd[i][j] == 0) RoyFloyd[i][j] = inf;
}
// Compute Min road value
for(int k=1; k<=N; k++)
for(int i=1; i<=N; i++)
for(int j=1; j<=N; j++)
{
if( i != j && RoyFloyd[i][k] + RoyFloyd[k][j] < RoyFloyd[i][j] )
RoyFloyd[i][j] = RoyFloyd[i][k] + RoyFloyd[k][j];
}
for(int i=1; i<=N; i++)
{
for(int j=1; j<=N; j++)
{
if(RoyFloyd[i][j] == inf )
printf("0 ");
else
printf("%d ",RoyFloyd[i][j]);
}
printf("\n");
}
}