Pagini recente » Cod sursa (job #57469) | Cod sursa (job #1400390) | Cod sursa (job #2654377) | Cod sursa (job #1506133) | Cod sursa (job #533093)
Cod sursa(job #533093)
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *in = freopen("royfloyd.in", "r", stdin);
FILE *out = freopen("royfloyd.out", "w", stdout);
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]);
for (k = 0; k < n; k++)
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if(i==j) continue;
if (m[i][k] && m[k][j] && (m[i][k] + m[k][j] < m[i][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;
}