poj 1163 The Triangle

原创 2018年04月15日 17:11:33
7
3   8
8   1   0
2   7   4   4
4   5   2   6   5

(Figure 1)
Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally down to the left or diagonally down to the right.
Input
Your program is to read from standard input. The first line contains one integer N: the number of rows in the triangle. The following N lines describe the data of the triangle. The number of rows in the triangle is > 1 but <= 100. The numbers in the triangle, all integers, are between 0 and 99.
Output
Your program is to write to standard output. The highest sum is written as an integer.
Sample Input
5
7
3 8
8 1 0 
2 7 4 4
4 5 2 6 5
Sample Output

30

从第一个数,可以向下走也可以向右走,求走过路径的最大值

思路:从下向上dp

#include<iostream>
#include<algorithm>
using namespace std;
int a[103][103];
int main()
{
    int n;
    while(cin>>n)
    {
        for(int i=0;i<=n+1;i++)   //将数组边界初始化为0
        {
            for(int j=0;j<=n+1;j++)
            {
                a[i][j]=0;
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=i;j++)
            {
                cin>>a[i][j];
            }
        }
        for(int i=n;i>=1;i--)
        {
            for(int j=1;j<=i;j++)
            {
                a[i-1][j]+=max(a[i][j],a[i][j+1]);
            }
        }
        cout<<a[1][1]<<endl;

    }
}

POJ1163-The Triangle

转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1300454092 和POJ3176一模一样,不懂做这题的去看看我对3176的解释 这是...
  • lyy289065406
  • lyy289065406
  • 2011-07-31 12:13:05
  • 3132

POJ-1163(The Triangle)动态规划基础题

7 3 8 8 1 0 2 7 4 4 4 5 2 6 5(Figure 1) Figure 1 shows a number triangle. W...
  • zhao5502169
  • zhao5502169
  • 2017-04-08 17:07:05
  • 419

北大ACM1163 - The Triangle (枚举法&备忘录法&动态规划)

1.1.1           枚举法 该问题我使用了枚举法、备忘录法、动态规划法主要是对三种算法进行比较。 任何选择的问题,都可以通过穷举所有可能性,然后从中选择适合的项,这就是枚举法。枚举法是...
  • Gykimo
  • Gykimo
  • 2013-01-01 12:12:24
  • 1623

POJ 1163 The Triangle

题目大意: 从三角形顶部数字走,每次只能走到这个数字的左下角或者右下角的数字,直到底部,计算走过的线路的数字之和,求这个和的最大值解题思路: 这道题如果用枚举法(暴力思想),在数塔层数稍大的情况下(如...
  • kl28978113
  • kl28978113
  • 2015-08-24 20:54:49
  • 1449

数字三角形(动态规划)poj1163

问题描述有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数,从第一行的数开始,每次可以往左下和右下走一格,直到走到最下行,把沿途经过的数全部加起来,如何才能...
  • qq_36385055
  • qq_36385055
  • 2017-02-12 18:11:18
  • 498

poj-2079 Triangle

题意: 给出平面上的n个点,求其中三个点组成的最大三角形面积; n 题解: 一道xuanzhuankake题; 主要的思路对于三角形来说,它的面积可以用底乘高除二的公式求; 而...
  • ww140142
  • ww140142
  • 2015-09-09 14:09:32
  • 1185

poj_1163

动态规划问题 重新梳理了一遍关于最优子结构和无后效性的理解。递推,贪心和动态规划的异同点,有空独立成篇吧。 学习果真是如邵成所讲,先学会后理解。 算法分析: 自底向上,从倒数第二行起,用DP[...
  • shadddow
  • shadddow
  • 2016-03-22 21:37:44
  • 242

poj 1163解题报告

这道题是一道简单的dp题,就是求从第一个数到底行中的某个数的路径数字之和最大值。这道题的子问题就是求到每一行的每一个数的路径的最大数字和。 设:t[i][j]储存第i行第j列的数字。       ...
  • lazy_p
  • lazy_p
  • 2010-07-27 11:27:00
  • 839

POJ 1163:The Triangle(动态规划)

题目传送门:POJ 1163:The Triangle简单动态规划,思路:打表#include #include using namespace std; const int maxSize = ...
  • Artprog
  • Artprog
  • 2017-04-09 16:19:54
  • 289

poj 1163 The Triangle 动态规划

。。。
  • xinag578
  • xinag578
  • 2015-09-25 11:28:39
  • 181
收藏助手
不良信息举报
您举报文章:poj 1163 The Triangle
举报原因:
原因补充:

(最多只允许输入30个字)