Pagini recente » Cod sursa (job #554014) | Rating Ciubotariu Vlad (vladutzu444) | Cod sursa (job #1513661) | Cod sursa (job #2297389) | Cod sursa (job #1145455)
/*
Keep It Simple!
*/
#include<stdio.h>
#include<string.h>
#define MaxN 105
#define inf 1<<30
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++)
RoyFloyd[i][j] = inf;
for(int i=1; i<=N; i++)
for(int j=1; j<=N; j++)
scanf("%d",&RoyFloyd[i][j]);
// 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]!=inf && RoyFloyd[k][j]!= inf && (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");
}
}