1625 数字金字塔

链接:http://codevs.cn/problem/1625/

USACO

 时间限制: 1 s
 空间限制: 128000 KB
 

题目描述 Description

考虑在下面被显示的数字金字塔.

写一个程序来计算从最高点开始在底部任意处结束的路径经过数字的和的最大.

每一步可以走到下方的点也可以到达右下方的点.

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

在上面的样例中,从 7 到 3 到 8 到 7 到 5 的路径产生了最大和:30

输入描述 Input Description

第一个行包含 R(1<= R<=1000) ,表示行的数目.

后面每行为这个数字金字塔特定行包含的整数.

所有的被供应的整数是非负的且不大于 100

输出描述 Output Description

单独的一行包含那个可能得到的最大的和.

样例输入 Sample Input

5

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

样例输出 Sample Output

30

数据范围及提示 Data Size & Hint
题解:h[i][j]存该点数值, f[i][j]存从底部到该点的最大和,为该点值+Max(该点正下方最大和,该点斜下方最大和),即

f[i][j]=max(f[i+1][j]+h[i][j],f[i+1][j+1]+h[i][j]);
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int h[1005][1005],f[1005][1005];
int main(){int n;cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)scanf("%d",&h[i][j]);for(int j=1;j<=n;j++)f[n][j]=h[n][j];int i=n;while(i>1){i--;for(int j=1;j<=i;j++)f[i][j]=max(f[i+1][j]+h[i][j],f[i+1][j+1]+h[i][j]);}cout<<f[1][1]<<endl;
}

转载于:https://www.cnblogs.com/EdSheeran/p/7466250.html

1625 数字金字塔相关推荐

  1. java编写数字金字塔_用JAVA写数字金字塔

    今年的蓝桥杯中我遇到了一道题是关于数字金字塔的,那时候在比赛时可能是各方面的因素有思路但是没有实现,直到今天回过头来看,其实只要思路正确了题目就会迎刃而解了,其实数字金字塔的的解题思路就是把金字塔分成 ...

  2. 使用双重循环,输出数字金字塔

    代码: package net.text0702;import java.util.Scanner;/*** @author Mr.Wang* 根据输入数字,输出数字金字塔:输入几就是几行,每行输出当 ...

  3. 【动态规划】数字金字塔

    数字金字塔 Description 考虑在下面被显示的数字金字塔. 写一个程序来计算从最高点开始在底部任意处结束的路径经过数字的和的最大. 每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 ...

  4. 本题要求实现函数输出n行数字金字塔。_练习5-3 数字金字塔 (15分)

    本题要求实现函数输出n行数字金字塔. 函数接口定义: void pyramid( int n ); 其中n是用户传入的参数,为[1, 9]的正整数.要求函数按照如样例所示的格式打印出n行数字金字塔.注 ...

  5. 信息学奥赛一本通 1258:【例9.2】数字金字塔

    [题目链接] ybt 1258:[例9.2]数字金字塔 [题目考点] 1. 记忆化搜索 2. 动态规划基本型 [解题思路] 思路1:一般深搜(非正确解) 每到一个位置,更新加和,向左下,右下两个方向搜 ...

  6. 信息学奥赛一本通(1258:【例9.2】数字金字塔)

    1258:[例9.2]数字金字塔 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 20019     通过数: 11518 [题目描述] 观察下面的数字金字塔.写一 ...

  7. 数字金字塔(信息学奥赛一本通-T1258)

    [题目描述] 观察下面的数字金字塔.写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以从当前点走到左下方的点也可以到达右下方的点. 在上面的样例中,从13到8到26到15 ...

  8. java金字塔显示_java控制台输出数字金字塔示例分享

    /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: *          ...

  9. CCF NOI1145 数字金字塔【DP】

    问题链接:CCF NOI1145 数字金字塔. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 观察下面的数字金字塔.写一个程序查找从最高点到底部任意处结束的路径,使路径经过数 ...

最新文章

  1. LeetCode 217 Contains Duplicate--python,java解法--set--简单
  2. 【LeetCode从零单排】No100 Same Tree No101 Symmetric Tree
  3. 我在神策做研发丨做冲在前方的第一方队,造中国最好的开源 SDK
  4. 策略模式学习三---总结
  5. 天平称重【递归解法】
  6. 前端学习(631):字符串类型
  7. gddr6速率_Rambus展示18GT/s的GDDR6内存子系统:高频信号纯净度仍然非常好
  8. OJ1068: 二进制数(C语言)
  9. mysql非必现数据插不进去_MySQL必知必会:数据插入(Insert)
  10. UI设计干货模板|引导网格系统
  11. k8s mysql 弹性_kubernetes云平台管理实战:k8s弹性伸缩(十八)
  12. PostgreSQL 10.1 手册_部分 IV. 客户端接口_第 34 章 大对象_34.2. 实现特性
  13. php连接云数据库服务器,服务器使用PHP连接sqlserver数据库
  14. 简述vue-router实现原理
  15. SwiftyJSON
  16. xshell文件传输乱码_xshell5 显示中文乱码解决方法,远程连接Linux CentOS
  17. hd4600黑苹果html5死机,黑苹果核显hd4400、hd4600显卡Clover引导驱动方法
  18. 因特尔显卡自定义分辨率_如何在新版英特尔核芯显卡控制面板中自定义显示器分辨率...
  19. 经典基础教程---Programming TCP/IP Windows Sockets in C++
  20. js-鼠标事件-拖放图片(对鼠标事件进一步加深印象)

热门文章

  1. PAT_B_1055_Java(25分)
  2. jsp中两个double相乘_图像处理中的代数运算及几何变换
  3. 深度学习之生成对抗网络(8)WGAN-GP实战
  4. linux 关机时卸载sd,Linux下U盘SD卡的自动挂载和卸载
  5. echo print php,从0到1学习网络安全 【PHP基础-输出(echo/print)】
  6. 局域网屏幕共享软件 推荐_局域网共享软件,详细教您局域网共享软件如何使用...
  7. 信息奥赛一本通1486: CH 6202 黑暗城堡 最短路径生成树计数
  8. 深入浅出深度学习(三)线性代数基础
  9. 建立神经网络来预测贷款风险
  10. 不行是谁决定的呢,明明你眼前就有这么多的可能啊