《收集苹果》 动态规划入门

问题描写叙述

平面上有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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xamarin XAML语言教程通过ProgressTo方法对进度条设置

2019独角兽企业重金招聘Python工程师标准>>> Xamarin XAML语言教程通过ProgressTo方法对进度条设置 在ProgressBar中定义了一个ProgressTo方法&#xff0c;此方法也可以用来对进度条当前的进行进行设置&#xff0c;ProgressTo与Progress属性的不同之处在于ProgressT…

Radar Installation

题目链接&#xff1a;http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id27586 题意&#xff1a; 在海岸线上摆放雷达并限定雷达覆盖半径d&#xff0c;再以海岸线为轴&#xff0c;给定海上岛屿坐标&#xff0c;求至少需要多少雷达可以覆盖所以岛屿&#xff0c;如…

win7 + vs2015+ matlab2016a + python3.5安装matcaffe cpu版本

参考&#xff1a; 1. caffe-windows直接安装版---编译后的Release 2.安装Windows10 和环境下的caffe&#xff08;新版&#xff09; 3.win10vs2015编译caffe的cpu debug版本、部署matcaffe 主要的方法参考文献3. 当前caffe-windows仅支持python2.7和3.5 要注意的是&#…

python调用 matlab库_python调用matlab的搜索结果-阿里云开发者社区

2018python技术问答集锦&#xff0c;希望能给喜欢python的同学一些帮助小编发现问答专区中有很多人在问关于python的问题&#xff0c;小编把这些问题汇总一下&#xff0c;希望能给喜欢python的大家一些启示和帮助本帖不定期更新&#xff0c;喜欢的可以收藏哦python可能替代Java…

h5新特性

 CSDN博客 Gane_ChengHTML5新特性浅谈 发表于2016/10/17 21:25:58 7809人阅读 分类&#xff1a; 前端 转载请注明出处&#xff1a; http://blog.csdn.net/gane_cheng/article/details/52819118 http://www.ganecheng.tech/blog/52819118.html &#xff08;浏览效果更好…

打勾显示输入的密码 --EditText与setTransformationMethod

实现目标: 实现原理: 为CheckBox添加一个监听器事件; 实现的源码: package edu.cquptzx.showPassword; import android.app.Activity; import android.os.Bundle; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransforma…

mysql日期截取年月_摄影大赛丨“我遇见最美的光”第五届全国医务人员摄影大展 截稿日期2020年8月15日...

截稿日期2020年8月15日《“我遇见最美的光”第五届全国医务人员摄影大展》欣赏过山川壮丽&#xff0c;瞻仰过造化旖旎&#xff0c;敬重于生命伟大&#xff0c;感动于英雄凯旋……由《大众摄影》主办&#xff0c;正大天晴药业集团股份有限公司、《中国卫生影像》杂志协办的“我遇…

iframe子页面内刷新父页面中另一个iframe子页面

框架页面如下&#xff1a; <div id"aa" style"float: left; height: 500px; border-right-style: solid; border-right-color: #CCCCFF; border-right-width: 2px;"> <IFRAME id"tree" name"tree" src"/ScienProject…

Pytorch的C++接口实践

Pytorch1.1版本已经提供了相对稳定的c接口&#xff0c;网上也有了众多的资料供大家参考&#xff0c;进行c的接口的初步尝试。 可以按照对应的选项下载&#xff0c;下面我们要说的是&#xff1a; 如何利用已经编译好的官方libtorch库和其他的opencv库等联合编写应用&#xff1f…

一次惨痛的装机经历

最近不小心把我的联想一体机电脑系统搞坏了&#xff0c;就不得不重装系统&#xff0c;之前的系统是win7&#xff0c;于是开始的时候想着直接装win10&#xff0c;升级一下系统。但是装的过程中总是卡在了win10的正在准备系统中&#xff0c;进度环不转了。后来转了多次都不行&…

unity让对象作为参数_unity-container – 一个unity容器可以将自身的引用作为构造函数参数传递吗?...

简短的答案是肯定的。当您使用Resolve方法时&#xff0c;这应该自动传递。例如&#xff1a;IUnityContainer container new UnityContainer();var something container.Resolve();另外&#xff0c;如果您想查看&#xff0c;这与Prism(CodePlex)使用的技术相同。更新增加测试&…

KnockoutJS + My97DatePicker

如何将Knockoutjs和其他脚本库结合使用&#xff1f;这里给出一个Knockoutjs与my97datepicker配合使用的例子&#xff0c;例子中使用了ko的自定义绑定功能&#xff1a; ko.bindingHandlers.my97DatePicker {init: function (element, valueAccessor) {$(element).on(click, fun…

HttpClient v4.5 简单抓取主页数据

由于工作原因&#xff0c;需要每隔半小时刷新一些网页&#xff0c;并查看上面的数据是否有更新。这件事能否自动化进行呢&#xff1f;查找了下Java相关的资料&#xff0c;蹦出一个关键词&#xff1a;HttpClient。 HttpClient是常用Http客户端库&#xff0c;相关的资料也不少&am…

matlab局部放大的图中图画法

【亲测有效】 在作图过程中&#xff0c;如果想将局部信息展示出来并且画在同一张图中&#xff0c;一般的MATLAB作图法就比较拙计了&#xff0c;好在MATLAB还是很强大的&#xff0c;当然&#xff0c;除了不能当女朋友之外 .... ╮(╯▽╰)╭ function showdetail()% 在当前的ax…

进入Python世界——Python基础知识

本文通过实例练习Python基础语法, python版本2.7 # -*- coding: utf-8 -*- import randomimport re import requests from bs4 import BeautifulSoup# 爬取糗事百科的首页内容 def qiushibaike():content requests.get(http://www.qiushibaike.com/).contentsoup BeautifulS…

db2 版本发布历史_数据库各厂商的发展历史(2. DB2 of IBM)

如若转载&#xff0c;请务必注明出处&#xff0c;iihero 2008.9.26于CSDN1973年&#xff0c;IBM研究中心启动System R项目&#xff0c;为DB2的诞生打下良好基础。System R 是 IBM 研究部门开发的一种产品&#xff0c;这种原型语言促进了技术的发展并最终在1983年将 DB2 带到了商…

android---简单的通讯录

遗留问题:获取头像及其他信息 利用adapter和Cursor来获取联系人的姓名和手机号,重在复习之前学过的内容加深自己的理解. 其中需要注意的部分: 1.adapter中的getview的优化问题,用到tag这一属性 2.onBackPressed()返回方法的重写,使得程序更加人性化 下面是主要代码 1.adapte…

win phone 获取并且处理回车键事件

参考自&#xff1a;http://www.cnblogs.com/mohe/archive/2013/03/18/2966540.html 实用场景,比如输入帐号和密码啦,输入搜索关键字啦.protected override void OnKeyDown(KeyEventArgs e) {if (e.Key Key.Enter){MessageBox.Show("我是windows phone 回车键"); …

【2020年】最新中国科学院大学学位论文写作规范

最近在完成国科大博士论文写作的时候&#xff0c;有一些心得体会&#xff0c;特此总结下来&#xff0c;以飨读者&#xff0c;尤其是可爱的学弟学妹们。需要注意的是&#xff0c; 以下仅仅是我自己的心得而已&#xff0c;仅供参考。 1. 首先推荐大家使用国科大的Latex模板&…

谈谈Java基础数据类型

Java的基本数据类型 类型意义取值boolean布尔值true或falsebyte8位有符号整型-128~127short16位有符号整型-pow(2,15)~pow(2,15)-1int32位有符号整型-pow(2,31)~pow(2,31)-1long64位有符号整型-pow(2,63)~pow(2,63)-1float32位浮点数IEEE754标准单精度浮点数double64位浮点数IE…