【动态规划】数字三角形模型:摘花生

【动态规划】数字三角形模型:摘花生_第1张图片

当前所在坐标为(x,y),只能由(x-1,y)或(x,y-1)走过来。

由于取最大值,所以当前位置一定要拿。

设dp[x][y]表示从起点走到(x,y)的最大值,那么dp[x][y]=max(dp[x-1][y],dp[x][y-1])+G[X][Y];

初始化一行(一列):dp[i][0]=dp[i-1][0]+G[i][0] dp[0][j]=dp[0][j-1]+G[0][j]

#include
using namespace std;
int grid[101][101];
int dp[101][101];
int r,c,m;
int main(){
    cin>>m;
    for(int k=0;k>r>>c;
      for(int i=0;i>grid[i][j];
      }
      dp[0][0]=grid[0][0];
      for(int i=1;i

你可能感兴趣的:(#,动态规划,动态规划,算法,leetcode)