Pagini recente » Cod sursa (job #418550) | Cod sursa (job #2210968) | Cod sursa (job #3287938) | Cod sursa (job #1614656) | Cod sursa (job #2265841)
#include <stdio.h>
#define MAX_NODES 257
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
int g[MAX_NODES][MAX_NODES], s[MAX_NODES][MAX_NODES];
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen ("royfloyd.out", "w", stdout);
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
scanf("%d", &(g[i][j]));
/*if (i != j)
s[i][j] = 1;*/
}
}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i != j && g[i][k] && g[k][j]) {
if (g[i][j] >= g[i][k] + g[k][j] || g[i][j] == 0) {
g[i][j] = g[i][k] + g[k][j];
// s[i][j] = MAX(s[i][j], s[i][k] + s[k][j]);
}
}
}
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
printf("%d ", g[i][j]);
printf("\n");
}
/* for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
printf("%d ", s[i][j]);
printf("\n");
}*/
}