Pagini recente » Cod sursa (job #2836823) | Cod sursa (job #2126761) | Cod sursa (job #809000) | Cod sursa (job #3127489) | Cod sursa (job #2737287)
#include <bits/stdc++.h>
using namespace std;
#define debug(x) cerr << #x << " = " << x << "\n";
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
const int inf = (int)1e9 + 7;
const int max_n = (int)1e2 + 5;
int n;
int g[max_n][max_n];
int main() {
in >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
in >> g[i][j];
if (g[i][j] == 0) {
g[i][j] = inf;
}
}
}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
g[i][j] = min(g[i][j], g[i][k] + g[k][j]);
}
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (g[i][j] == inf || i == j) {
g[i][j] = 0;
}
out << g[i][j] << " ";
}
out << "\n";
}
return 0;
}