问题描写叙述

平面上有N*M个格子,每一个格子中放着一定数量的苹果。你从左上角的格子開始,每一步仅仅能向下走或是向右走,每次走到一个格子上就把格子里的苹果收集起来,这样下去,你最多能收集到多少个苹果。

输入:

第一行输入行数和列数

然后逐行输入每一个格子的中的苹果的数量

输出:

最多能收到的苹果的个数。

思路分析

这是一个典型的二维数组DP问题

基本状态:

当你到达第x行第y列的格子的时候,收集到的苹果的数量dp[x][y]。

转移方程:

因为你仅仅能向右走或者向下走,所以当你到达第x行第y列的格子的时候,你可能是从第x-1行第y列或者第x行第y-1列到达该格子的,而我们最后仅仅要收集苹果最多的那一种方案。

所以:

dp[x][y] = max( if(x>0) dp[x-1][y] , if(y>0) dp[x][y-1])

编写代码

show you code:

#include<iostream>
#include<string.h>
using namespace std;
int a[100][100];
int dp[100][100];
int m,n;void dp_fun(int x,int y)
{dp[x][y] = a[x][y];int max = 0;if(x > 0 && max < dp[x-1][y]){max = dp[x-1][y];}if(y > 0 && max < dp[x][y-1]){max = dp[x][y-1];}dp[x][y] += max;if(x<m-1){dp_fun(x+1,y);}     if(y<n-1){dp_fun(x,y+1);}return;
} int main()
{memset(dp,0,sizeof(dp)); cin>>m>>n;for(int i=0;i<m;i++){for(int j=0;j<n;j++){cin>>a[i][j];}} dp_fun(0,0);for(int i=0;i<m;i++){for(int j=0;j<n;j++){cout<<dp[i][j]<<"\t";}cout<<endl;}return 0;
}

演示样例数据:

转载于:https://www.cnblogs.com/hrhguanli/p/3782086.html

《收集苹果》 动态规划入门相关推荐

  1. LQ训练营(C++)学习笔记_动态规划入门

    动态规划入门 五.动态规划入门 1.动态介绍 1.1动态规划基本思路 1.2 动态规划基本概念 1.2.1 阶段 1.2.2 状态 1.2.3 决策 1.2.4 状态转移方程 1.2.5 策略 1.3 ...

  2. 动态规划入门之国王的金矿

    最近学习算法,对动态规划不太了解,使用的时候照搬转移方程式,知其然不知其所以然,今天看到一篇动态规划的教程,解释得非常通俗,原文在这里[动态规划入门教程] (http://blog.csdn.net/ ...

  3. 很特别的一个动态规划入门教程

    很特别的一个动态规划入门教程 今天在网上看到一个讲动态规划的文章,是以01背包为例的,这文章和书上的讲解非常不一样,令我眼前一亮,于是转载一下下--- (说明一下,本人非常痛恨教材公式定理漫天飞,实际 ...

  4. C++动态规划入门习题+解析

    动态规划入门 ❤️‍

  5. 【LeetCode】动态规划入门(专项打卡21天合集)

    [LeetCode]动态规划入门(专项打卡21天合集) 下图为证 文章目录 [LeetCode]动态规划入门(专项打卡21天合集) Day1 斐波拉契数 第 N 个泰波那契数 Day2 爬楼梯 使用最 ...

  6. 动态规划入门问题:猴子与香蕉

    动态规划入门问题猴子与香蕉 一.猴子与香蕉 题目描述 一组研究人员正在设计一个测试猴子IQ的实验.他们把香蕉吊在屋顶上,同时给猴子提供了砖块.如果猴子够聪明,它会把砖块一个个叠起来做成一个塔,然后爬上 ...

  7. 动态规划入门看这篇就够了,万字长文!

    今天是小浩算法 "365刷题计划" 动态规划 - 整合篇.大家应该期待已久了吧!奥利给! 01 PART 动态规划是啥 我们把要解决的一个大问题转换成若干个规模较小的同类型问题,当 ...

  8. 1075: 动态规划入门(中链式2:能量项链)

    1075: 动态规划入门(中链式2:能量项链) 时间限制: 1 Sec 内存限制: 128 MB 题目描述 [问题描述] 能量球组成的项链.相邻两球可以合并产生新球.合并规则:如果前一颗能量珠的头标记 ...

  9. 动态规划入门到熟悉,看不懂来打我啊

    动态规划入门到熟悉,看不懂来打我啊 兔子hebtu666 本文链接:https://blog.csdn.net/hebtu666/article/details/100585136 2.1斐波那契系列 ...

最新文章

  1. 36晋级12第五场:冯志刚决胜入围(节目视频)
  2. E1载波的数据速率是(16)Mb/s,E3载波的数据速率是(17)Mb/s。答案】B D
  3. java accept charset_springmvc中post请求中文乱码问题
  4. c# SQLServer导入大批量数据
  5. rabbitmq 启动报错 Failed to get nic info
  6. bzoj 1079 [SCOI2008]着色方案
  7. Distinct源码分析
  8. php服务器错误日志在哪里看,PHP取服务器错误日志
  9. Vysor_2.1.2破解,及安装包
  10. 年过20载,超1000万人在用,还说要被淘汰?
  11. 机器学习之Python分析圆周率
  12. 数据统计分析(SPSS)【8】
  13. 【NOIP2016提高A组五校联考4】ksum
  14. SDJZU DotA
  15. PCB_焊盘工艺设计规范
  16. HBuilder打包iOS教程
  17. 数据可视化查看2021全国各省份的GDP
  18. redis操作相关命令:停止、启动、查看
  19. Etcd Unable to attach or mount volumes
  20. 好用的磁盘管理工具:DiskCatalogMaker for Mac

热门文章

  1. android 存储无法写入,在Android中的外部存储中写入文件
  2. 『ACM--数据结构--字典树』信息竞赛进阶指南--Tire树
  3. 玩转GIT系列之【如何放弃本地/服务器端所做的修改】
  4. 方法 | 机器学习(深度学习)通用工作流程
  5. 天涯煮酒又发现一篇好文,王阳明传,序就很漂亮,转一下
  6. 算法竞赛训练指南代码仓库_数据仓库综合指南
  7. C语言高级编程:结构体中定义数组的“妙用”
  8. 经常收到银行白金信用卡邀请短信,真能办下来吗?
  9. 空间谱专题10:MUSIC算法
  10. 哪些职业申请贷款比较难?