Pagini recente » Cod sursa (job #2237633) | Cod sursa (job #402948) | Cod sursa (job #1995976) | Cod sursa (job #963137) | Cod sursa (job #2210097)
#include <bits/stdc++.h>
using namespace std;
int distances[101][101];
int main() {
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int n;
fin >> n;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
fin >> distances[i][j];
}
}
for (int intermediar = 1; intermediar <= n; ++intermediar) {
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
if (distances[i][intermediar] and distances[intermediar][j] and i != j) {
if (distances[i][j]) {
distances[i][j] = min (distances[i][j], distances[i][intermediar] + distances[intermediar][j]);
}
else {
distances[i][j] = distances[i][intermediar] + distances[intermediar][j];
}
}
}
}
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
fout << distances[i][j] << ' ';
}
fout << '\n';
}
return 0;
}