Pagini recente » Cod sursa (job #3364595) | Cod sursa (job #3363773) | Cod sursa (job #3364335) | Cod sursa (job #3364050) | Cod sursa (job #3364370)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
const int MAXN = 105;
int n;
int mat[MAXN][MAXN];
int main() {
in >> n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
in >> mat[i][j];
for (int nod = 1; nod <= n; ++nod)
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
if (mat[i][nod] && mat[nod][j] && (mat[i][j] > mat[i][nod] + mat[nod][j] || (!mat[i][j] && i != j)))
mat[i][j] = mat[i][nod] + mat[nod][j];
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
out << mat[i][j] << " ";
out << "\n";
}
return 0;
}