Pagini recente » Cod sursa (job #2168520) | Cod sursa (job #1026192) | Cod sursa (job #1648783) | Cod sursa (job #1572212) | Cod sursa (job #2198457)
#include <fstream>
#include <vector>
#include <algorithm>
#define NMAX 200
#define INF (1 << 29)
using namespace std;
int d[NMAX][NMAX];
int main() {
int N;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
in >> N;
for (int i = 1 ; i <= N ; i++) {
for (int j = 1; j <= N; j++) {
in >> d[i][j];
if (d[i][j] == 0 && i != j) {
d[i][j] = INF;
}
}
}
for (int k = 1; k <= N; k++) {
for (int i = 1; i <= N; i++) {
for (int j = 1; j<= N; j++) {
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
}
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
if (d[i][j] == INF) {
out << 0 << " ";
} else {
out << d[i][j] << " ";
}
}
out << endl;
}
in.close();
out.close();
return 0;
}