Pagini recente » Cod sursa (job #2452871) | Cod sursa (job #2806887) | Cod sursa (job #3041083) | Cod sursa (job #3041469) | Cod sursa (job #1427979)
#include <stdio.h>
int main() {
FILE *in = fopen("royfloyd.in", "r");
FILE *out = fopen("royfloyd.out", "w");
int n;
int mat[101][101];
int i, j, k;
fscanf(in, "%d", &n);
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
fscanf(in, "%d", &mat[i][j]);
}
}
fclose(in);
for (k = 1; k <= n; ++k) {
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
if (mat[i][k] != 0 && mat[k][j] != 0 && i != j
&& (mat[i][j] > mat[i][k] + mat[k][j] || mat[i][j] == 0)) {
mat[i][j] = mat[i][k] + mat[k][j];
}
}
}
}
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
fprintf(out, "%d ", mat[i][j]);
}
fprintf(out, "\n");
}
fclose(out);
return 0;
}