Pagini recente » Cod sursa (job #1103594) | Cod sursa (job #220463) | Cod sursa (job #2989926) | Cod sursa (job #2981420) | Cod sursa (job #2812164)
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
#define NMAX 105
#define INF ((1<<30)-1)
int n, c[NMAX][NMAX];
void citire() {
f >> n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j) {
f >> c[i][j];
if (!c[i][j] && i != j)
c[i][j] = INF;
}
}
void calculare() {
for (int k = 1; k <= n; ++k)
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
c[i][j] = min(c[i][j], c[i][k] + c[k][j]);
}
void afisare() {
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
g << c[i][j] << ' ';
g << '\n';
}
}
int main() {
citire();
calculare();
afisare();
return 0;
}