Pagini recente » Cod sursa (job #3041555) | Cod sursa (job #2818301) | Cod sursa (job #991496) | Cod sursa (job #3177103) | Cod sursa (job #1705920)
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
#include <climits>
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define INF 1000000000
using namespace std;
ifstream in("royfloid.in");
ofstream out("royfloid.out");
int main() {
int n;
in >> n;
int d[101][101];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
int c;
in >> c;
d[i][j] = c != 0 ? c : INF;
}
}
for (int k = 0; k < n; ++k) {
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
if (i == j) {
continue;
}
d[i][j] = MIN(d[i][j], d[i][k] + d[k][j]);
}
}
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
out << (d[i][j] != INF ? d[i][j] : 0) << ' ';
}
out << '\n';
}
return 0;
}