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

er417777 单选题 共 个子题

二维数组h和v分别代表网格中的水平边时间消耗和垂直边时间消耗: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]);

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧