Pagini recente » Cod sursa (job #1865361) | Cod sursa (job #2604691) | Cod sursa (job #2571080) | Cod sursa (job #3000469) | Cod sursa (job #1426473)
#include <fstream>
#define MaxN 105
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int N, M[MaxN][MaxN];
int main() {
fin >> N;
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
fin >> M[i][j];
for (int k = 1; k <= N; ++k)
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
if (M[i][k] && M[k][j] && (M[i][j] > M[i][k] + M[k][j] || !M[i][j]) && i != j)
M[i][j] = M[i][k] + M[k][j];
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
fout << M[i][j] << ' ';
}
fout << '\n';
}
return 0;
}