Я пытался использовать алгоритм Флойд-Маршалла для решения упражнения, но он возвращает матрицу только с нулями.Вот код:
// Adjacency matrix
let am = [[0,0,0,1,1,1],
[0,0,1,0,1,0],
[0,1,0,1,0,1],
[1,0,1,0,0,0],
[1,1,0,0,0,0],
[1,0,1,0,0,0]]
// Floyd-Warshall algorithm
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
for (k = 0; k < n; k++) {
if (am[i][j] > am[i][k] + am[k][j]) {
am[i][j] = am[i][k] + am[k][j];
}
}
}
}
return am;
Возвращает
[[0,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0]]
Что я делаю не так?