简要描述:
给定一个M行N列的矩阵(M*N个格子),每个格子中放着一定数量的平安果。
你从左上角的各自开始,只能向下或者向右走,目的地是右下角的格子。
每走过一个格子,就把格子上的平安果都收集起来。求你最多能收集到多少平安果。
注意:当经过一个格子时,需要一次性把格子里的平安果都拿走。
(1<=N,M<=50);每个格子里的平安果数量是0到1000(包含0和1000)。

输入描述:
输入包含两部分:
第一行M, N
接下来M行,包含N个平安果数量

输出描述:
一个整数
最多拿走的平安果的数量

示例:

输入
2 4
1 2 3 40
6 7 8 90

输出
136

思路:动态规划
动态方程:当前位置能够获得的最大苹果数=max(从上面走能够获得最大苹果+从左边走能获得最大苹果)
dp(0,0)=app[0][0]

例:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>using namespace std;int dp(int m, int n, int apple[][50])
{if (m == 0 && n == 0)return apple[0][0];else if (m == 0){return apple[m][n] + dp(m, n - 1, apple);}else if (n == 0){return apple[m][n] + dp(m - 1, n, apple);}return max(apple[m][n] + dp(m,n-1,apple),apple[m][n] + dp(m-1,n,apple));
}int main(void)
{int m, n;cin >> m >> n;int apple[50][50];for (int i = 0; i < m;++i)for (int j = 0; j < n; ++j){int tmp;cin >> tmp; apple[i][j] = tmp;}cout << dp(1, 3, apple);
}

二维数组(动态规划)相关推荐

  1. hdu1176 免费馅饼 动态规划 二维数组实现

    免费馅饼 Time Limit: 1000MS Memory Limit: 32768KB Submit Statistic Discuss Problem Description 都说天上不会掉馅饼 ...

  2. 问题 A: 【动态规划】采药_二维数组_一维数组

    问题 A: [动态规划]采药 时间限制: 1 Sec  内存限制: 64 MB 提交: 35  解决: 15 [提交][状态][讨论版] 题目描述 山洞里有一些不同的草药,采每一株都需要一些时间,每一 ...

  3. 动态规划 -- 二维数组中左上到右下的最短路径和。

    目录 问题: 应用场景: 分析: C++实现 问题: 给定一个二维数组map[4][4] ={{1,3,5,9},{8,1,3,4},{5,0,6,1},{8,8,4,0}}.求从左上角到右下角的最短 ...

  4. 01背包问题动态规划(二维数组)

    01背包问题动态规划(二维数组) 问题描述 ​ 一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是W1,W2,-,Wn,它们的价值分别为C1,C2,-,Cn,求旅行者能获得 ...

  5. 建立二维数组_二维数组的 DP

    寻找不同路径和 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标 ...

  6. 背包(二维数组版和一维数组版)

    一:前言 这是动态规划的经典题型,那么我们也是 按照动态规划五步走的策略分析的 确定dp数组的含义以及下标的含义 确定dp数组的递推公式 确定dp数组的初始化 确定dp数组的遍历顺序 举例验证(如果不 ...

  7. 二维数组联通子数组和最大

    题目要求: 返回一个二维整数数组中最大联通子数组的和. 输入一个二维整形数组,数组里有正数也有负数. 文件输出. 思路:和之前的动态规划相识,把二维数组转换为一维数组,先求每一个列的子数组和最大,最后 ...

  8. map的key可以试一个数组吗?_二维数组的 DP

    寻找不同路径和 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标 ...

  9. 二维数组的花式遍历技巧盘点

    学算法认准 labuladong 后台回复 进群 进刷题 读完本文,可以去力扣解决如下题目: 48. 旋转图像(中等) 54. 螺旋矩阵(中等) 59. 螺旋矩阵 II(中等) 有不少读者说,看过很多 ...

  10. 经典算法题型(二):二维数组(平面地图)的递归操作

    一.基本概念 1.在算法中有一类题型经常出现,通常题目给出一个二维的数组,让你求出有多少条路径?有多少个岛屿? 甚至有些题目给出二维字符数组,让你寻找是否存在某个单词. 这些问题都涉及到递归回溯的相关 ...

最新文章

  1. Error:Execution failed for task ':app:mergeDebugResources'. Error: java.lang.RuntimeException: Som
  2. python入门教程非常详细-Python编程入门教程:从入门到高级,非常详细
  3. mysql总是出现-_mysql 总是莫名其妙的关闭:报错 -问答-阿里云开发者社区-阿里云...
  4. (转载)IT未来发展五大趋势
  5. 「后端小伙伴来学前端了」Vue-Router 路由各种跳转、传参、小知识
  6. 6.非关系型数据库(Nosql)之mongodb:集群(主从复制)
  7. SOA和微服务架构的区别?
  8. 【Antlr】cannot create implicit token for string literal in non-combined grammar xx
  9. scala学习-Description Resource Path Location Type value toDF is not a member of org.apache.spark.rdd.R
  10. 个推透传工作笔记001---个推后台配置
  11. 作词家下岗系列:教你用 RNN 算法做一个写词软件
  12. 分享C#实现XML和实体序列化和反序列化的代码
  13. .Net: C#中的委托(Delegate)和事件(Event)
  14. 提高openfire最大连接数
  15. WPF UI 框架 收集
  16. jQuery插件使用-瀑布流
  17. 用Python从大到小排序
  18. Unity中Destory()、DestoryImmediate()和GameObject==null问题
  19. Android-四大天王
  20. 3000万存款的陈奕迅哭穷,真不是无病呻吟!

热门文章

  1. 蓝桥杯:填字母游戏(第八届决赛javaB第五题)——博弈+递归+回溯
  2. HDU:2055 An easy problem
  3. 《领导力21法则》读书感悟
  4. c语言为什么不能自动free,求大神帮忙看看 为什么cfree没有报错但是就是运行不了...
  5. CFree5构建中止问题
  6. 广州市二手房源数据采集和可视化分析(链家二手房)Python
  7. 什么是广域网(WAN)?
  8. iOS中视图切换的四种方式
  9. 什么是模式、什么是模式识别、模式识别的方法、过程
  10. 使用ffpemg无损快速从视频中提取音频的操作教程(记录笔记超详细)