数字三角形 17 初入dp

Description

7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。
注意:路径上的每一步只能从一个数走到下一层上和它最近的左边的那个数或者右边的那个数。

Input

输入数据有多组,每组输入的是一行是一个整数N (1 < N <= 100),给出三角形的行数。下面的N行给出数字三角形。数字三角形上的数的范围都在0和100之间。

Output

输出最大的和。

Sample Input

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
3
1
2 3
1 1 1

Sample Output

30
5

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int data[200][200];//定义数组
 6     int n,tmp;
 7     while(cin>>n)
 8     {
 9         n=n+1;//这是个问题不明白为啥
10         for(int i=0;i<n;i++)
11         {
12             for(int j=0;j<i;j++)
13             cin>>data[i][j];
14         }
15         for(int i=0;i<n;i++)
16         {
17             for(int j=0;j<i;j++)
18             {
19                 if(j==0)//判断边界问题
20                 data[i][j]=data[i-1][j]+data[i][j];
21                 else
22                 data[i][j]=max(data[i-1][j],data[i-1][j-1])+data[i][j];//由上往下推出结果
23             }
24         }
25         tmp=0;
26         for(int j=0;j<n;j++)//找出最大值
27         if(tmp<data[n-1][j])
28         tmp=data[n-1][j];
29         cout<<tmp<<endl;
30     }
31     return 0;
32 }

第一道dp问题,这个题的思路就是,由上到下依次存起来

高手的这个问题   http://blog.csdn.net/lalor/article/details/6954923

时间: 2024-12-16 03:37:51

数字三角形 17 初入dp的相关文章

POJ 3176-Cow Bowling(dp_数字三角形)

Cow Bowling Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Description The cows don't use actual bowling balls when they go bowling. They each take a number (in the range 0..99), though, and line up in a st

hihoCoder#1037 : 数字三角形(DP)

[题目链接]:click here~~ 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描写叙述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国.美国人民的生活很有意思,常常会有形形色色.奇奇怪怪的活动举办.这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动. 迷宫节里展览出来的迷宫都特别的有意思.可是小Ho却相中了一个事实上并不怎么像迷宫的迷宫--由于这个迷宫的奖励很丰富~ 于是小Ho找到了小Hi,让小Hi帮助

数字三角形 (简单DP)

问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国.美国人民的生活非常有意思,经常会有形形色色.奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动.迷宫节里展览出来的迷宫都特别的有意思,但是小Ho却相中了一个其实并不怎么像迷宫的迷宫--因为这个迷宫的奖励非常丰富~ 于是小Ho找到了小Hi,让小Hi帮助他获取尽可能多的奖品,小Hi把手一伸道:"迷宫的介绍拿来!" 小Ho选择的迷宫是一个被称为"数字

4829 [DP]数字三角形升级版

4829 [DP]数字三角形升级版 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 从数字三角形的顶部(如图,第一行的5表示行数)到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可以得到一个和,且!!!!!!!!! ================================================================================== =================

1037 数字三角形 (dp算法解决)

#1037 : 数字三角形 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国.美国人民的生活非常有意思,经常会有形形色色.奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动.迷宫节里展览出来的迷宫都特别的有意思,但是小Ho却相中了一个其实并不怎么像迷宫的迷宫——因为这个迷宫的奖励非常丰富~ 于是小Ho找到了小Hi,让小Hi帮助他获取尽可能多的

LightOJ 1004 Monkey Banana Problem (DP 数字三角形)

1004 - Monkey Banana Problem PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are in the world of mathematics to solve the great "MonkeyBanana Problem". It states that, a monkey enters into a diamond shaped twodimen

算法训练 数字三角形(DP)

问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1<三角形行数≤100: ●三角形中的数字为整数0,1,…99: . (图3.1-1) 输入格式 文件中首先读到的是三角形的行数. 接下来描述整个三角形 输出格式 最大总和(整数) 样例输入 573 88 1 02 7 4 44 5 2 6 5 样例输出 30 从下往上进行计算就好了,还可以用DP的方法来解 #include<

HDU 1176(类似数字三角形的题,很经典,值得仔细理解的dp思维)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 60927    Accepted Submission(s): 21380 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径

【递归】数字三角形 简单dp

[递归]数字三角形 题目描述 对于大多数人来说,“我们是这么的正常,因此也就这么的平庸.”而天才总是与众不同的,所以当邪狼问修罗王:“老大,你蹲在那儿一动不动看了有半个小时了,蚂蚁有那么好看吗?” 修罗王是这样回答的:“我在思索人生的意义,你看这蚂蚁的面前有无数的道路选择,但它不知道选择哪条路可以到达目标,也不知道哪条路上有更多的食物,更不知道现在选择的道路对它以后的影响……” 如图所示,有一个层数为n(n≤1000)的数字三角形.现有一只蚂蚁从顶层开始向下走,每走下一级时,可向左下方向或右下方