下列 Floyd 算法中,横线处应填入:
void floyd(int n, int dist[][MAXN]) {
for (int k = 0; k < n; k++)
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (________) // 在此处填入选项
dist[i][j] = dist[i][k] + dist[k][j];
}
- A. dist[i][k] + dist[k][j] < dist[i][j]
- B. dist[i][k] != INF && dist[k][j] != INF
- C. dist[i][k] != INF && dist[k][j] != INF && dist[i][k] + dist[k][j] < dist[i][j]
- D. dist[i][j] == INF
正确答案:C