Pagini recente » Cod sursa (job #1250499) | Cod sursa (job #1803797) | Cod sursa (job #2525476) | Cod sursa (job #203588) | Cod sursa (job #1060171)
#include <cstdio>
#define INF 0x3f3f3f3f
#define Minim(x,y) (x>y?y:x)
using namespace std;
int A[105][105];
int N;
void Citire()
{
scanf("%d",&N);
for(int i=1;i<=N;++i)
for(int j=1;j<=N;++j)
{
scanf("%d ",&A[i][j]);
if(A[i][j]==0)
A[i][j]=INF;
}
}
void Roy_Floyd()
{
for(int k=1;k<=N;++k)
for(int i=1;i<=N;++i)
for(int j=1;j<=N;++j)
if(i!=j)
A[i][j]=Minim(A[i][j],A[i][k]+A[k][j]);
}
void Afisare()
{
for(int i=1;i<=N;++i)
{
for(int j=1;j<=N;++j)
if(A[i][j]==INF)
printf("%d ",0);
else
printf("%d ",A[i][j]);
printf("\n");
}
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
Citire();
Roy_Floyd();
Afisare();
return 0;
}