Pagini recente » Cod sursa (job #796456) | Cod sursa (job #2763606) | Cod sursa (job #3261833) | Cod sursa (job #1500220) | Cod sursa (job #505666)
Cod sursa(job #505666)
#include <stdio.h>
long min (long,long);
int main () {
long N,a[110][110],i,j,k;
freopen ("royfloyd.in","r",stdin);
freopen ("royfloyd.out","w",stdout);
scanf ("%ld",&N);
for (i=0; i<N; i++)
for (j=0; j<N; j++)
scanf ("%ld",&a[i][j]);
for (k=0; k<N; k++)
for (i=0; i<N; i++)
for (j=0; j<N; j++)
if ((k!=j)&&(k!=i)&&(i!=j))
a[i][j]=min (a[i][j],a[i][k]+a[k][j]);
for (i=0; i<N; i++) {
for (j=0; j<N-1; j++) printf ("%ld ",a[i][j]);
printf ("%ld\n",a[i][N-1]);
}
return 0;
}
long min (long a,long b) {
if (a) if (b) if (a<b) return a;
else return b;
else return a;
else if (b) return b;
else return 0;
}