Pagini recente » Diferente pentru utilizator/badea_adi1999 intre reviziile 83 si 84 | Bombo | TractoMarm | Istoria paginii utilizator/iulian96 | Cod sursa (job #256543)
Cod sursa(job #256543)
// Floyd-Warshall / Roy-Floyd
#include <cstdio>
int a[100][100],N;
int main()
{
freopen("royfloyd.in","r",stdin);
scanf("%d", &N);
int i,j,k;
for (i=0; i<N; i++ )
for (j=0; j<N; j++ )
scanf("%d", &a[i][j]);
for (k=0; k<N; k++ )
for (i=0; i<N; i++ )
{
for (j=0; j<N; j++ )
if ( (a[i][j]==0 && i!=j && a[i][k]*a[k][j]!=0) ||
(a[i][k]*a[k][j]!=0 && a[i][j]>a[i][k]+a[k][j])
)
a[i][j] = a[i][k] + a[k][j];
}
freopen("royfloyd.out","w",stdout);
for (i=0; i<N; i++ )
{
for (j=0; j<N; j++ )
printf("%d ", a[i][j]);
printf("\n");
}
fclose(stdout);
return 0;
}