NYOJ 234 吃土豆

吃土豆

时间限制:1000 ms  |  内存限制:65535 KB

难度:4

描述
Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the beans and collect the qualities, but everyone must obey by the following rules: if you eat the bean at the coordinate(x, y), you can’t eat the beans anyway at the coordinates listed (if exiting): (x, y-1), (x, y+1), and the both rows whose abscissas are x-1 and x+1.

Now, how much qualities can you eat and then get ?

输入
There are a few cases. In each case, there are two integer M (row number) and N (column number). The next M lines each contain N integers, representing the qualities of the beans. We can make sure that the quality of bean isn‘t beyond 1000, and 1<=M,N<=500.
输出
For each case, you just output the MAX qualities you can eat and then get.
样例输入
4 6
11 0 7 5 13 9
78 4 81 6 22 4
1 40 9 34 16 10
11 22 0 33 39 6
样例输出
242
来源
2009 Multi-University Training Contest 4
上传者
张洁烽

  

解题:先求每一行的最大值,然后把这些最大值再求一次最大值。这道题目还是有点意思啦。慢慢想想还是可以解出来的。想再快点的话可以再开个数组,把后面那个循环里面的内容放到读入循环里面去。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <climits>
 5 using namespace std;
 6 int d[510][510],dp[510][2];
 7 int mx[510];
 8 int main() {
 9     int r,c,i,j,temp,ans;
10     while(~scanf("%d %d",&r,&c)) {
11         for(i = 1; i <= r; i++) {
12             memset(dp,0,sizeof(dp));
13             mx[i] = INT_MIN;
14             for(j = 1; j <= c; j++) {
15                 scanf("%d",d[i]+j);
16                 dp[j][0] = max(dp[j-1][0],dp[j-1][1]);
17                 dp[j][1] = dp[j-1][0] + d[i][j];
18                 temp = max(dp[j][0],dp[j][1]);
19                 mx[i] = max(temp,mx[i]);
20             }
21         }
22         memset(dp,0,sizeof(dp));
23         ans = INT_MIN;
24         for(i = 1; i <= r; i++) {
25             dp[i][0] = max(dp[i-1][0],dp[i-1][1]);
26             dp[i][1] = dp[i-1][0] + mx[i];
27             temp = max(dp[i][0],dp[i][1]);
28             if(temp > ans) ans = temp;
29         }
30         printf("%d\n",ans);
31     }
32     return 0;
33 }

 

NYOJ 234 吃土豆

时间: 2024-10-19 12:45:18

NYOJ 234 吃土豆的相关文章

nyoj 吃土豆

吃土豆 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the beans and collect th

NYOJ 吃土豆(动态规划)

描述 Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the beans and collect the qualities, but everyone must obey by t

head first 设计模式读书笔记 之 策略模式

作为一个php开发者,深知曾经很多程序员都鄙视php,为什么呢?因为他们认为php的语法是dirty的,并且由于开发者水平参差不齐导致php的代码更加乱上加乱,维护起来简直一坨shit一样.随着php加入了面向对象的阵型之后,很多开发者开始使用了oop思想来写代码,php也变得越来越标准,越来越规范.而其中,设计模式起到了不小的作用.最近老大找我谈话,说php这边的开发模块耦合度过高,代码感觉质量不高,想来一次代码重构行动.我对代码重构也是一知半解,而代码重构的基础就是去了解设计模式,于是我翻起

献给初学者--学习ORACLE的第一篇故事

学习ORACLE感触 刚接触ORACLE 数据库没多久,从网上看到一篇描写ORACLE体系知识的故事,叫<SID之家>,抱着兴趣读了一遍,没想到,该故事非常好,对初学者了解ORACLE数据库的体系非常有帮助.且在以后的学习过程中,学到不同阶段ORACLE,在读一遍,也会有不同的感悟.该故事与ORACLE数据库所做的事情进行关联,关联的非常好.在此献给想学习ORACLE数据库的初学者. -_-(其实已经出来很多年了,但是忍不住还是想推广给想学ORACLE数据库的人,因为我就是因为这篇故事才进入了

漫谈架构3

按照之前架构的定义,做好架构首先需要做的就是识别出需要解决的问题.一般来说,如果把真正的问题找到,那么问题就已经解决了80%了.这个能力基本上就决定了架构师的水平. 那么面对问题有哪些困难呢? 我们先看一则笑话.女主人公:老公,把袋子里的土豆切一半下锅.结果老公是把袋子里的每个土豆都削了一半,然后下锅. 当然很多人会说,这个是沟通问题,然后一笑了之.其实,出现这个现象是由于我们大部分时候过于关注解决问题,急于完成自己的工作,而不关心“真正的问题是什么”而造成的.当我们去解决一个问题的时候,一定要

所以整座小城都弥漫着螺狮粉的香味

自来也,木叶,然后再告诉你哪家的店世界那个人的师父.他要做的就是找个这个人,并教导他成才.他有过比较正宗.其实当他没有说完,我就早已离开,去寻找小城的美食了.小城不大,而城里却多是特色美食的店,螺狮粉.狭小的成,大大小小数百家粉店.所以整座小城都弥漫着螺狮粉的香味.农家自制的米粉随三代学习忍术,大蛇丸纲手是他最好的朋友,在第三次忍界大战中三人成名.小时候和鸣人一样传说三忍之一.自幼跟食,他们甚至可以絮絮叨叨的跟你讲美食的由来和其中的制作的过程忍术学的并不好,尤其在天才大蛇丸的衬托下更加不堪. 我

未来it行业发展方向

https://www.zhihu.com/question/24222456 IT行业,未来10年和20年,技术发展方向会是什么? 本人CS 本科刚毕业,正在选择工作方向.希望之后专注一个方向发展.个人目前喜欢backend web and mobile app development. 同时希望听听业内专业人士的意见,以后互联网方向会是什么,或者什么IT技术重要.比如以前门户网站,社交,到现在移动互联网,App, Big Data, Artificial Intelligent. 另外,如果

01.设计模式_简单工厂模式

转载自  http://www.cnblogs.com/zhili/p/SimpleFactory.html 一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式--简单工厂模式. 二.简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程

如何做好娱乐化的产品运营?

如今,在泛娱乐的互联网世界里,娱乐化产品运营更能够抓住用户的心,为你的产品带来开口. 经过前期的数据调查显示,美食类菜谱绝大多数的运营手法离不开内容,而如何把优质的内容让更多的用户用到,无外乎通过文字形式.视频形式.活动形式以及添加社交属性,促活.留存.拉新,促进美食菜谱的浏览量和分享量. 问题在于,除非这个菜谱做的非常精致以及有趣,而且有用以外,用户缺乏一种主动分享的动机,而为了促进或者说激活这种主动传播和分享的动机and行动,可以考虑使美食菜谱娱乐化. 何为美食菜谱娱乐化? 举个例子,对于我