Pagini recente » Cod sursa (job #987645) | Cod sursa (job #2024327) | Cod sursa (job #397104) | Cod sursa (job #2103983) | Cod sursa (job #1521953)
#include <cstdio>
#define NMAX 105
using namespace std;
int N, d[NMAX][NMAX];
void read() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d\n", &N);
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
scanf("%d ", &d[i][j]);
}
}
}
void printSol() {
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
printf("%d ", d[i][j]);
}
printf("\n");
}
}
void solve() {
for (int k = 1; k <= N; k++) {
for (int i = 1; i <= N; i++) {
if (d[i][k] == 0) {
continue;
}
for (int j = 1; j <= N; j++) {
if (i == j || d[k][j] == 0) {
continue;
}
if (d[i][k] + d[k][j] < d[i][j] || d[i][j] == 0) {
d[i][j] = d[i][k] + d[k][j];
}
}
}
}
}
int main() {
read();
solve();
printSol();
return 0;
}