Pagini recente » Cod sursa (job #336859) | Cod sursa (job #3238153) | Cod sursa (job #1079126) | Cod sursa (job #372153) | Cod sursa (job #505670)
Cod sursa(job #505670)
#include <stdio.h>
#define inf 1000000000
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]);
if (!a[i][j]) a[i][j]=inf;
}
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; j++) {
if (a[i][j]==inf) a[i][j]=0;
printf ("%ld ",a[i][j]);
}
printf ("\n");
}
return 0;
}
long min (long a,long b) {
if (a<b) return a; else return b;
}