Pagini recente » Cod sursa (job #1023487) | Cod sursa (job #42158) | Clasament Runda 1 | Cod sursa (job #334713) | Cod sursa (job #1361089)
#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][k] || !a[k][j])
continue;
else if( a[i][k] + a[k][j] < a[i][j] )
a[i][j] = a[i][k] + a[k][j];
else if( !a[i][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;
}