Pagini recente » Cod sursa (job #2964678) | Istoria paginii runda/aaa | Cod sursa (job #2457976) | Cod sursa (job #2309295) | 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;
}