Pagini recente » Cod sursa (job #480337) | Cod sursa (job #2195189) | Cod sursa (job #807121) | Cod sursa (job #1925050) | Cod sursa (job #2198459)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
const int kNmax = 100005;
const int inf = 9999999;
int main() {
int n, i, j, k;
ifstream f("royfloyd.in");
f >> n;
int d[n + 1][n + 1];
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
f >> d[i][j];
if (i != j && d[i][j] == 0)
d[i][j] = inf;
}
}
f.close();
for (k = 1; k <= n; k++) {
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
}
ofstream g("royfloyd.out");
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
if (d[i][j] == inf) {
d[i][j] = 0;
}
g << d[i][j] << " ";
}
g << endl;
}
g.close();
return 0;
}