Pagini recente » Cod sursa (job #65624) | Cod sursa (job #1946367) | Cod sursa (job #2246558) | Cod sursa (job #3031844) | Cod sursa (job #3130834)
#include <bits/stdc++.h>
using namespace std;
void file_in(string name) {
freopen((name + ".in").c_str(), "r", stdin);
freopen((name + ".out").c_str(), "w", stdout);
}
using ll = long long;
// const int N = 110;
const ll INF64 = (2e18) + 5;
struct edge {
int v, w;
};
// vector<edge> g[N];
int main() {
file_in("royfloyd");
int n;
cin >> n;
vector<vector<ll>> sol(n + 1, vector<ll>(n + 1, INF64));
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
cin >> sol[i][j];
if((sol[i][j] == 0 && i != j))
sol[i][j] = INF64;
}
}
for(int k = 1; k <= n; k++) {
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
sol[i][j] = min(sol[i][j], sol[i][k] + sol[k][j]);
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++)
cout << ((sol[i][j] == INF64) ? 0 : sol[i][j]) << ' ';
cout << '\n';
}
}