数字三角形问题(数塔问题)

Description
下图给出了一个数字三角形,请编写一个程序,计算从顶至底的某处的一条路径,使该路径所经过的数字和最大
Input
有很多个测试案例,对于每一个测试案例, 通过键盘逐行输入,第1行是输入整数(如果该整数是0,就表示结束,不需要再处理),表示三角形行数n,然后是n行数
Output
输出最大值

Example Input

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

Example Output

30

代码块

#include<iostream>
#include<cmath>
#define MAX 1000
using namespace std;
int data[MAX][MAX];   //储存原始数据
int dp[MAX][MAX];     //储存刷新后的数据
int tower_walk(int n)
{//dp初始化for(int i=0; i<n; i++)dp[n-1][i] = data[n-1][i];int temp_max;        //取最大值for(int i=n-2; i>=0; i--)for(int j=0; j<=i; j++){temp_max = max(dp[i+1][j],dp[i+1][j+1]);dp[i][j] = temp_max + data[i][j];}
}//打印和最大路径
int print(int n)
{cout << "最大路径和:" << dp[0][0] << endl;int node_value;//首先输出塔顶元素cout << "最大路径:" << data[0][0];int j=0;for(int i=0; i<n; i++){if(node_value == dp[i][j+1])j++;cout << " -> " << data[i][j]; } cout << endl;
}int main()
{int n;                           //有n行cin >> n;for(int i=0; i<n; i++)for(int j=0; j<=i; j++)cin >> data[i][j];       tower_walk(n);cout << dp[0][0] << endl;        //最大值储存在dp[0][0]中return 0;}

数字三角形问题(数塔问题)相关推荐

  1. 【算法】【动态规划篇】第3节:数字三角形问题

    本期任务:介绍算法中关于动态规划思想的几个经典问题 [算法][动态规划篇]第1节:0-1背包问题 [算法][动态规划篇]第2节:数字矩阵问题 [算法][动态规划篇]第3节:数字三角形问题 [算法][动 ...

  2. 算法.动态规划 导航/数塔取数字问题

    目录 前言 从1+1开始 总结下概念 地图到图 回头看 代码 动态规划经典问题 前言 下面的概念和公式可能会吓到你,看不懂没关系,就是让你恶心的.反正我看着也挺恶心,专业就是让你看不懂,看懂了怎么能叫 ...

  3. codevs——1220 数字三角形(棋盘DP)

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Description 如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一 ...

  4. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  5. 51Nod-1002 数塔取数问题【DP】

    1002 数塔取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值. 每次只能走到下一层相 ...

  6. 数字三角形的多种解法思路

    如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值最大. 输入描述 Input Description 第一行是数塔层数N(1<= ...

  7. 蓝桥杯——算法训练——数字三角形

    蓝桥杯--算法训练--数字三角形 这道题不难,但是比较典型,可以作为动态规划(dp)的入门篇,属于线性dp(LIS,LCS和数字三角形都是此类题型). ------------------------ ...

  8. 算法训练 数字三角形

    算法训练 数字三角形   时间限制:1.0s   内存限制:256.0MB      问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字 ...

  9. 【蓝桥杯】 算法训练 数字三角形

    历届试题 数字三角形 问题描述 在下面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大.路径上的每一步都只能往左下或 右下走.只需要求出这个最大和即可,不必给出具体路径. 三角 ...

最新文章

  1. uart口图片_认识UART接口
  2. python语言中文社区-Python 之父谈 Python-Go语言中文社区
  3. CEikEdWin 类的使用
  4. OCH\OMS\OTS\MSP\RS\SPI解释
  5. mysql行级视图与列级视图_[数据库]--DML、DDL、TCL语言
  6. apollo 配置中心_Apollo配置中心搭建笔记
  7. Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法
  8. mysql5.7.10 二进制包_MYSQL5.7二进制包的安装
  9. (21)xilinx PCIE 开发方法(学无止境)
  10. NVIDIA Tesla K40C 的各项性能参数
  11. 上海计算机应用基础自考上机,上海2012年自考《计算机应用基础》上机考核大纲...
  12. 使用MIB来监控你的应用(tuxedo mib)
  13. 用L2TP与OpenSwan构建IPSec ×××(使用X.509证书认证)
  14. jsoneditor
  15. Deep Learning for Image and Point Cloud Fusionin Autonomous Driving: A Review
  16. 【Matlab学习笔记】数据拟合polyfit与polyval
  17. 关于ESD的一些知识
  18. 前端 Vue 浏览器调试工具 Vue.js devtools 安装
  19. [苹果开发者账号]01 使用Apple Developer app注册提示:未能验证证件
  20. android 系统的切图方式_UI设计规范一Android尺寸单位换算及切图规范

热门文章

  1. 基于ThreeJS为3D模型添加贴图
  2. bat if-else
  3. 防范隐私泄露、泄露后挽救措施、半佛仙人
  4. 金融科技“无感化”:如何看中信银行信用卡上线鸿蒙创新应用
  5. 像素 倍图 ppi 布局反式
  6. access month函数用法_【Access文章】日期常用函数详解
  7. 关于按键精灵输出文本
  8. win10的cmd进入文件夹
  9. 113JS原生:表格排序
  10. CPU占用100%的原因及解决办法