2728:摘花生(数字金子塔变形)

2728:摘花生

总时间限制:

1000ms

内存限制:

65536kB

描述

Hello Kitty 想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty 最多能够摘到多少颗花生。

输入

第一行是一个整数T,代表一共有多少组数据。1<=T <= 100
接下来是T组数据。

每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C ( 1<= R,C <=100)
每组数据的接下来R行数据,从北向南依次描述每行花生苗的情况。每行数据有 C 个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目 M ( 0<= M <= 1000)。

输出

对每组输入数据,输出一行,内容为Hello Kitty能摘到得最多的花生颗数。

样例输入

2

2 2

1 1

3 4

2 3

2 3 4

1 6 5

样例输出

8

16

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int a[1001][1001],f[1001][1001],n,m,t;
int main()
{
    scanf("%d",&t);
    while(t--)
    {
      scanf("%d%d",&n,&m);
      memset(f,-1,sizeof(f));
      memset(a,0,sizeof(a));
      for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
         scanf("%d",&a[i][j]);
      for(int i=0;i<=n+1;i++)
        for(int j=0;j<=m+1;j++)
          f[i][j]=max(f[i-1][j],f[i][j-1])+a[i][j];
      printf("%d\n",f[n+1][m+1]);
    }

    return 0;
}
时间: 2024-07-28 18:12:05

2728:摘花生(数字金子塔变形)的相关文章

2728:摘花生

2728:摘花生 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 Hello Kitty 想摘点花生送给她喜欢的米老鼠.她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来.地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生.Hello Kitty只能向东或向南走,不能向西或向北走.问Hello Kitty 最多能够摘到多少颗花生. 输入 第一行是一个整数T,代表一共有多少组数据.1<=

[OpenJudge] 摘花生 (模拟)

2950:摘花生 传送门 描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:"欢迎免费品尝我种的花生!--熊字".鲁宾逊先生和多多都很开心,因为花生正是他们的最爱.在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1).有经验的多多一眼就能看出,每棵花生植株下的花生有多少.为了训练多多的算术,鲁宾逊先生说:"你先找出花生最多的植株,去采摘它的花生:然后再找出剩下的植株里花生最多的,去采摘它的

HDU 1176 免费馅饼(简单DP,数塔变形)

Problem Description: 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接.但由于小径两侧都不能站人,所以他只能在小径上接.由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼.现在给

探索数字迷塔问题及遇到指针无法访问内存的错误

Problem : 探索数字迷塔 Time Limit: 1 Sec  Memory Limit: 64 MB Description 晶晶最近迷上了数字迷宫游戏,整天沉浸在一串串看似简单的数字中自得其乐.数字迷宫游戏的魅力体现在变化中隐含着不变的规律,归纳是探究数字迷宫的法宝之一.图10.1-1就是一个由线连接起来的数字小方格组成的数字迷塔. 这个迷塔共n层,它由n×(n+1)/2个小方格组成.每个小方格中都有一个数字,并且连着下一层的两个小方格.现从塔顶走到塔底,每一步只能走到相邻的方格中,

(hdu step 3.2.7)免费馅饼(数塔变形:求所能接到馅饼的最大数)

题目: 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1207 Accepted Submission(s): 508   Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米

HDU 1619 &amp; UVA 116 Unidirectional TSP(树形dp,入门 , 数塔变形)

Unidirectional TSP Description Background Problems that require minimum paths through some domain appear in many different areas of computer science. For example, one of the constraints in VLSI routing problems is minimizing wire length. The Travelin

摘花生

[题目描述] Hello Kitty想摘点花生送给她喜欢的米老鼠.她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来.地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生.Hello Kitty只能向东或向南走,不能向西或向北走.问Hello Kitty最多能够摘到多少颗花生. [输入] 第一行是一个整数TT,代表一共有多少组数据.1≤T≤1001≤T≤100 接下来是TT组数据. 每组数据的第一行是两个整数,分别代表花生苗的行

HDU 1711 Number Sequence (数字KMP,变形)

题意:在一个序列中找到一个连续的子序列,返回其开始位置. 思路:每个数字当成1个字符,长的序列是原串,短的序列是模式串,求next数组后进行匹配. 1 #include <iostream> 2 #include <cmath> 3 #include <cstdio> 4 using namespace std; 5 const int N=1000010; 6 int a[N]; 7 int nextt[10010]; 8 int b[10010]; 9 int n,

2018年全国多校算法寒假训练营练习比赛(第一场)D N阶汉诺塔变形

https://www.nowcoder.com/acm/contest/67/D 思路: 先手动模拟一下过程,以下是模拟过程,按顺序表示第几步需要移动的盘标号 1 1 2 1 1 2 1 1 3 1 1 2 1 1 2 1 1 3 1 1 2 1 1 2 1 1 4 1 1 2 ...... 我们发现每出现两次1就会出现一次2,每两次2就会出现一次3,每两次3就会出现一次4,每两次4就会出现一次5...... 然后我们发现如果把所有大于1的标号看成1,那么k步1出现的次数是 k/1 如果把所有