Pagini recente » Cod sursa (job #2945183) | Cod sursa (job #1045656) | Cod sursa (job #889728) | Cod sursa (job #176206) | Cod sursa (job #2145259)
#include <bits/stdc++.h>
using namespace std;
#if 1
#define pv(x) cout<<#x<<" = "<<x<<"; ";cout.flush()
#define pn cout<<endl
#else
#define pv(x)
#define pn
#endif
#ifdef ONLINE_JUDGE
#define in cin
#define out cout
#else
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
#endif
using ll = long long;
using ull = unsigned long long;
using ui = unsigned int;
#define pb push_back
#define mp make_pair
const int NMax = 1e2 + 5;
const ll inf_ll = 1e18 + 5;
const int inf_int = 1e9 + 5;
const int mod = 100003;
using zint = int;
int N;
int dist[NMax][NMax];
int main() {
in>>N;
for (int i = 1;i <= N;++i) {
for (int j = 1;j <= N;++j) {
in>>dist[i][j];
dist[i][j] = (dist[i][j] == 0 && i != j) ? inf_int : dist[i][j];
}
}
for (int k = 1;k <= N;++k) {
for (int i = 1;i <= N;++i) {
for (int j = 1;j <= N;++j) {
if (dist[i][j] > dist[i][k] + dist[k][j]) {
dist[i][j] = dist[i][k] + dist[k][j];
}
}
}
}
for (int i = 1;i <= N;++i) {
for (int j = 1;j <= N;++j) {
out << ((dist[i][j] == inf_int) ? 0 : dist[i][j]) << ' ';
}
out << '\n';
}
return 0;
}