Pagini recente » Cod sursa (job #2472670) | Cod sursa (job #520429) | Cod sursa (job #2154660) | Cod sursa (job #1241983) | Cod sursa (job #2755484)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 102
#define INF (1 << 15)
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int N;
int w[NMAX][NMAX];
int d[NMAX][NMAX];
int main() {
int x, y;
fin >> N;
for (x = 1; x <= N; ++x) {
for (y = 1; y <= N; ++y) {
fin >> w[x][y];
if (x != y && w[x][y] == 0) {
d[x][y] = INF;
} else {
d[x][y] = w[x][y];
}
}
}
int k;
for (k = 1; k <= N; ++k) {
for (x = 1; x <= N; ++x) {
for (y = 1; y <= N; ++y) {
d[x][y] = min(d[x][y],
d[x][k] + d[k][y]);
}
}
}
for (x = 1; x <= N; ++x) {
for (y = 1; y <= N; ++y) {
if (d[x][y] == INF) {
d[x][y] = 0;
}
fout << d[x][y] << " ";
}
fout << "\n";
}
return 0;
}