Pagini recente » Cod sursa (job #1957720) | Cod sursa (job #2484257) | Cod sursa (job #2427314) | Cod sursa (job #1402088) | Cod sursa (job #3312493)
#include <bits/stdc++.h>
int main() {
#ifndef LOCAL
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
#endif
int N;
std::cin >> N;
std::vector<std::vector<int>> G(N, std::vector<int>(N));
for (int u = 0; u < N; ++u) {
for (int v = 0; v < N; ++v) {
std::cin >> G[u][v];
}
}
for (int w = 0; w < N; ++w) {
for (int u = 0; u < N; ++u) {
for (int v = 0; v < N; ++v) {
if (G[u][w] && G[w][v]) {
G[u][v] = std::min(G[u][v], G[u][w] + G[w][v]);
}
}
}
}
for (int u = 0; u < N; ++u) {
if (u) {
std::cout << "\n";
}
for (int v = 0; v < N; ++v) {
if (v) {
std::cout << " ";
}
std::cout << G[u][v];
}
}
return 0;
}