第21120题 单选
Floyd算法求最短路径代码横线处应填入哪项

下列代码试图实现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