Pagini recente » Cod sursa (job #1322960) | Cod sursa (job #2133803) | Cod sursa (job #3135513) | Cod sursa (job #650118) | Cod sursa (job #2976450)
#include <algorithm>
#include <fstream>
int mat[100][100];
constexpr int INF = 1000000000;
int main () {
std::ifstream in("royfloyd.in");
in.exceptions(std::ifstream::failbit);
std::ofstream out("royfloyd.out");
out.exceptions(std::ofstream::failbit);
int n;
in >> n;
for (int i = 0; i < n; ++ i)
for (int j = 0; j < n; ++ j) {
in >> mat[i][j];
if (mat[i][j] == 0 && i != j)
mat[i][j] = INF;
}
for (int k = 0; k < n; ++ k)
for (int i = 0; i < n; ++ i)
for (int j = 0; j < n; ++ j)
mat[i][j] = std::min(mat[i][j], mat[i][k] + mat[k][j]);
for (int i = 0; i < n; ++ i) {
for (int j = 0; j < n; ++ j) {
if (mat[i][j] == 0 && i != j)
out << "0 ";
else
out << mat[i][j] << ' ';
}
out << '\n';
}
}