Pagini recente » Cod sursa (job #2674517) | Cod sursa (job #3226574) | Cod sursa (job #2458393) | Cod sursa (job #3039196) | Cod sursa (job #541268)
Cod sursa(job #541268)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
int INF = 1 << 15;
FILE *in = fopen("royfloyd.in", "r");
FILE *out = fopen("royfloyd.out", "w");
int n, i, j, k;
int m[100][100];
fscanf(in, "%d", &n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++) {
fscanf(in, "%d", &m[i][j]);
if (m[i][j] == 0 && i != j)
m[i][j] = INF;
}
for (k = 0; k < n; k++)
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (m[i][j] > m[i][k] + m[k][j])
m[i][j] = m[i][k] + m[k][j];
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
fprintf(out, "%d ", m[i][j]);
fprintf(out, "\n");
}
return EXIT_SUCCESS;
}