Pagini recente » Cod sursa (job #474311) | Cod sursa (job #1930573) | Cod sursa (job #3160345) | Cod sursa (job #485831) | Cod sursa (job #1361029)
#include <stdio.h>
int main()
{
FILE* IN = fopen("royfloyd.in", "r");
FILE* OUT = fopen("royfloyd.out", "w");
int n, i, j, k;
int a[101][101];
fscanf(IN, "%d", &n);
for( i=0; i<n; i++)
for( j=0; j<n; j++)
fscanf(IN, "%d", &a[i][j]);
for( i=0; i<n; i++ )
for( j=0; j<n; j++ )
for( k=0; k<n; k++ )
if( (i!=j) && ( ( a[i][j] && ( a[i][k] + a[k][j] < a[i][j] ) ) || !a[i][j] && a[i][k] && a[k][j]) )
a[i][j] = a[i][k] + a[k][j];
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
fprintf(OUT, "%d ", a[i][j]);
fprintf(OUT, "\n");
}
fclose(IN);
fclose(OUT);
return 0;
}