Pagini recente » Cod sursa (job #2787234) | Cod sursa (job #1025611) | Cod sursa (job #2807655) | Cod sursa (job #909158) | Cod sursa (job #716024)
Cod sursa(job #716024)
#include <stdio.h>
#include <algorithm>
using namespace std;
long i, j, k, n, edge[110][110];
int main() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%ld", &n);
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
scanf("%ld", &edge[i][j]);
if (i != j && edge[i][j] == 0) edge[i][j] = 1000000000;
}
}
for (k = 1; k <= n; ++k) {
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
edge[i][j] = min(edge[i][j], edge[i][k] + edge[k][j]);
}
}
}
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
if (edge[i][j] == 1000000000) printf("0 ");
else printf("%ld ", edge[i][j]);
}
printf("\n");
}
return 0;
}