Pagini recente » Cod sursa (job #843456) | Cod sursa (job #1457124) | Cod sursa (job #1253345) | Cod sursa (job #1561899) | Cod sursa (job #1110902)
#include<cstdio>
using namespace std;
const int NMAX = 100+2;
int N;
int M[NMAX][NMAX];
int main()
{
int i,j,k;
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",&M[i][j]);
for(k=1; k<=N; k++)
for(i=1; i<=N; i++)
for(j=1; j<=N; j++)
if(M[i][k] && M[k][j] && i!=j && (M[i][j]>M[i][k]+M[k][j]))
M[i][j]=M[i][k]+M[k][j];
for(i=1; i<=N; i++,printf("\n"))
for(j=1; j<=N; j++)
printf("%d ",M[i][j]);
return 0;
}