采草莓机器人在一个n∗m的草莓矩阵内,从起点坐标(0,0)出发,可以向右或向下两个方向移动,每个方格种植着不同价值的草莓,现在塔子哥规定了一个阈值g,代表该机器人此行采集草莓的总价值的最低目标值,塔子哥想知道机器人计算完成任务所需要移动的最少移动次数可以满足这个阈值?
第一行输入三个整数:n,m,g , 以空格隔开。
题解:动态规划
由于只能向右和向下走,因此,对于坐标(i,j),它一定是由(i−1,j)或者(i,j−1)位置移动得到,因此定义f[i][j]为走到(i,j)位置所获得价值的最大值,则有
f[i][j]=max(f[i−1][j],f[i][j−1])+w[i][j]
最终,枚举每一个点所获得价值的最大值,如果有f[i][j]≥g,则可以更新最小步数,最小步数即为(0,0与(i,j)的曼哈顿距离值dist=i+j,其中0≤i≤n,0≤j≤m
扫码备注加群即可,期待您的到来~
本题属于以下题库,请选择所需题库进行购买