第21840题 单选题
动态规划计算网格左下到右上最小时间消耗的代码补全题

二维数组hv分别代表网格中的水平边时间消耗和垂直边时间消耗:h[i][j]连接网格节点dis[i][j]dis[i][j+1]v[i][j]连接网格节点dis[i][j]dis[i+1][j]。程序使用动态规划计算从左下角dis[0][0]到右上角dis[y][x]的最小时间消耗,请补全横线处代码。 现有代码片段如下:

int dis[MAXY][MAXX];
int shortest_path(int x, int y) {
    dis[0][0] = 0;
    for (int i = 0; i < y; i++)
        dis[i + 1][0] = dis[i][0] + v[i][0];
    for (int j = 0; j < x; j++)
        dis[0][j + 1] = dis[0][j] + h[0][j];
    for (int i = 0; i < y; i++)
        for (int j = 0; j < x; j++)
            __________; // 在此处填写代码
    return dis[y][x];
}
A

dis[i][j] = min(dis[i - 1][j] + v[i - 1][j], dis[i][j - 1] + h[i][j - 1]);

B

dis[i][j] = min(dis[i - 1][j] + h[i - 1][j], dis[i][j - 1] + v[i][j - 1]);

C

dis[i + 1][j + 1] = min(dis[i][j + 1] + v[i][j + 1], dis[i + 1][j] + h[i + 1][j]);

D

dis[i + 1][j + 1] = min(dis[i][j + 1] + h[i][j + 1], dis[i + 1][j] + v[i + 1][j]);

程序运行统计
暂无判题统计