Pagini recente » Cod sursa (job #908443) | Cod sursa (job #2570004)
#include <bits/stdc++.h>
#define dbg() cerr <<
#define name(x) (#x) << ": " << (x) << ' ' <<
using namespace std;
const int NMAX = 100;
int dist[NMAX][NMAX];
int main() {
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int n; cin >> n;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j) {
cin >> dist[i][j];
if (dist[i][j] == 0 && i != j)
dist[i][j] = (int)1e9 + 5;
}
for (int k = 0; k < n; ++k) {
for (int i = 0; i < n; ++i) {
if (dist[i][k] == 0) continue;
for (int j = 0; j < n; ++j) {
if (dist[k][j] == 0) continue;
dist[i][j] = min(dist[i][j],
dist[i][k] + dist[k][j]);
}
}
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j)
cout << dist[i][j] << ' ';
cout << '\n';
}
}