Pagini recente » Cod sursa (job #2646174) | Cod sursa (job #2062607) | Cod sursa (job #595795) | Cod sursa (job #2384388) | Cod sursa (job #1511523)
#include <stdio.h>
#define MAX_SIZE 101
int n;
int shortestPath[MAX_SIZE][MAX_SIZE];
int main() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
int i, j, k;
scanf("%d", &n);
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j)
scanf("%d", &shortestPath[i][j]);
for (k = 0; k < n; ++k)
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j)
if (shortestPath[i][k] && shortestPath[k][j] && (shortestPath[i][j] > shortestPath[i][k] + shortestPath[k][j] || !shortestPath[i][j]) && i != j)
shortestPath[i][j] = shortestPath[i][k] + shortestPath[k][j];
for (i = 0; i < n; ++i, printf("\n"))
for (j = 0; j < n; ++j)
printf("%d ", shortestPath[i][j]);
return 0;
}