Pagini recente » Cod sursa (job #346813) | Cod sursa (job #3326434) | Monitorul de evaluare | Cod sursa (job #3339860) | Cod sursa (job #3328081)
#include <bits/stdc++.h>
using namespace std;
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
int n;
cin >> n;
int a[n][n];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cin >> a[i][j];
}
}
for (int k = 0; k < n; ++k) {
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
if (a[i][j] != 0 && a[i][k] != 0 && a[k][j] != 0) {
a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
}
}
}
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cout << a[i][j] << " \n"[j == n - 1];
}
}
}