Pagini recente » Cod sursa (job #3366401) | Borderou de evaluare (job #3366721) | Cod sursa (job #3366409) | Cod sursa (job #3366403) | Cod sursa (job #3365636)
#include <bits/stdc++.h>
const int N_MAX = 100;
int dist[N_MAX][N_MAX];
void solve()
{
int n;
std::cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cin >> dist[i][j];
}
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i != j && dist[i][k] && dist[k][j]) {
int lol = dist[i][k] + dist[k][j];
if (!dist[i][j] || dist[i][j] > lol) {
dist[i][j] = lol;
}
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cout << dist[i][j] << ' ';
}
std::cout << '\n';
}
}
signed main(void)
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int tt = 1;
while (tt--) {
solve();
}
}