C++ 数塔问题

动态规划 数塔问题求解 C++实现 /* * File name : digital_tower.cpp * Function : 动态规划 数塔问题求解 C++实现 * Created on : 2016年6月17日 * Author : beijiwei@qq.com * Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。 任何单位和个人不经本人允许不得用于商业用途 9 阅读详情
题目描述

如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 


 

输入格式

第一行是一个整数N(1 <= N <= 20),表示数塔的高度,接下来用N个数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。 

输出格式

输出可能得到的最大和,每个实例的输出占一行。 

输入样例
5
9 
12 15 
10 6 8 
2 18 9 5 
19 7 10 4 16
输出样例
max=59

提交

#include<bits/stdc++.h>
using namespace std;
int a[1001][1001],b[1001][1001],n,ans;
void dfs(int x,int y,int c){
	if(x==n){
		if(c>ans)ans=c;
		return;
	}
	dfs(x+1,y,c+a[x+1][y]);
	dfs(x+1,y+1,c+a[x+1][y+1]);
}
int main()
{
	int m;
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++)
			cin>>a[i][j];
	}
	ans=0;
	dfs(1,1,a[1][1]);
	cout<<"max="<<ans;
	return 0;
}

 

数塔问题 动态规划法——C++代码 课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的 立即下载

相关推荐

使用cubeMX生成USB HID设备

本文主要介绍如何使用stm32开发板和cubeMX生成HID设备,供参考。

专注音频,高效工作,快乐生活! 971

【C++编程题】数塔(递归,动态规划)

【问题描述】 给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。 9 12 15 10 6 8 2

weixin_50281879的博客 3385

别再为批次效应发愁了!手把手教你用Harmony整合10x单细胞数据(附完整R代码)

本文详细介绍了如何使用Harmony工具消除单细胞数据中的批次效应,提供完整的R代码实现跨样本数据整合。通过模糊聚类和渐进校正技术,Harmony能有效区分技术噪音与真实生物信号,适用于大型数据集处理。文章包含质控要点、参数设置建议及常见问题解决方案,助力研究者获得高质量整合结果。

weixin_27215403的博客 197

数塔问题——动态规划求解(C++)

数塔问题 问题简述:如图数塔中,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的数值和最大。 实现思想:动态规划 5 9 12 15 10 6 8 2 18 9 5 19 7 10 4 16 以上是输入样例。 MAX=59 9->12->10->18->10 以上是输出样例。 C++代码: #include<iostream> using namespace std; int main() { int a[50][50]

Curry_2019的博客 5300

A类功率放大器

在A类放大器中,导通角是完整的360°或100%的输入信号,而在其他类别的放大器中,晶体管在一个较小的导通角内导通。通过在输出级使用两个互补的晶体管,其中一个晶体管是NPN或N通道类型,而另一个晶体管是PNP或P通道(互补)类型,以所谓的 "推挽 "配置连接,可以获得比A类放大器更大的功率输出和效率。这种类型的电路效率很低(低于30%),而且对直流电源的消耗很大,输出的功率却很小。由于我们感兴趣的是向负载提供最大的交流功率,同时从电源中消耗尽可能少的直流电,所以我们主要关注的是放大器的 "转换效率"。

LSW20072007的博客 2470

光谱特征选择之模拟退火算法SA

光谱特征选择之模拟退火算法SA。

weixin_42621095的博客 902

数塔问题_

一个n层的数塔对应的输入为n+1行,如下图右边所示格式,第1行为数塔层数,第2行到第n+1行为各层的数字。请编一个程序计算从顶到底的某处的一条路径,使该路径所经过的数字总和最大。输出为一个整数,即题意所述最大的那个路径数字总和。如下图左边所示为一个数字三角形,也叫数塔。1.一步可沿左斜线向下或右斜线向下走;3.三角形中的数字为0,1,…输入为n+1行的数字,意义见题目描述。2.三角形行数小于等于100;

a09learnc的博客 397

四、zabbix7.0推送告警至钉钉webhook机器人

2、钉钉的webhook是有安全要求的,我采用的是ip的方式,我的zabbix服务器在内网,我的网络出口有多个固定公网ip,所以这样做省事,其他方式也可以你自己考虑。下图是webhook机器人的配置。这一步,参数里面默认的跟我下图里不一样的,按我下图修改。Key是你的webhook机器人地址里的access_token=后面的内容。整个逻辑就是告警动作匹配告警媒介与用户,然后进行告警的发送。1、zabbix服务器能够访问钉钉的服务器,具体说是能访问。二、zabbix7配置报警媒介以及消息模板配置。

m0_74823715的博客 1294

C++数塔问题

用于存储从底部到当前位置的最大路径和。通过逆向遍历数塔,从倒数第二层开始,每一层的每个位置的最大路径和可以通过其下一层相邻的两个位置的最大路径和来计算。首先读取输入的数塔,将数塔表示为一个二维数组。,创建一个大小与数塔相同的二维数组。,即为从顶部到底部的最大路径和。

SYC20110120的博客 1048

【技能】OpenClaw Skills学习及手搓一个极简skill

本文介绍了OpenClaw Skills的基础概念与使用方法。Skills是OpenClaw代理使用工具的核心载体,通过SKILL.md文件定义技能属性和执行方式。技能加载遵循"工作区>本地>内置>自定义目录"的优先级规则。用户可通过ClawHub一键安装现成技能,也可自定义开发技能:创建技能目录,编写包含YAML元数据和执行指令的SKILL.md文件,放置于工作区skills目录进行测试。文章还介绍了多代理场景下的技能共享、插件集成以及安全注意事项,包括沙箱使用和敏感

海兰 3977

台球 PCOL:极致物理还原的网页斯诺克引擎(附源码深度解析)

*完整源码地址**:[https://github.com/billiards/pcol-core](https://github.com/billiards/pcol-core)(包含详细文档与示例)通过这个项目,我们不仅创建了一个游戏,更构建了一个**可扩展的物理引擎框架**,为网页端复杂物理模拟开辟了新的可能性。**在线体验**:[https://pcol.billiards](https://pcol.billiards)(支持移动端触控操作)clone.velocity.x *= -0.92;

Loving_enjoy的博客 2803

C++ 数塔问题 动态规划入门

C++ 数塔问题 动态规划入门 问题描述 数塔问题: 问题描述: 将一些数字排成数塔现状,期中第n层又n个数 每次只能向下一层连接的数字中的一个 问:将路径上所有数字相加后得到的最大和是多少 样例1: 输入: 5 5 8 3 12 7 16 4 10 11 6 9 5 3 9 4 输出: 44 样例一图如下: 样例2: 输入: 5 9 12 15 10 6 8 2 18 9 5 19 7 10 4 16 输出: 59 分析: 本题可直接采用递归手段,暴力穷举所有的情况并在同时比较最大值 递归法 #incl

qq_51204877的博客 3354

嵌入式Zephyr RTOS面试题及参考答案

在Zephyr中,为自定义外设编写Devicetree绑定(Bindings)有助于内核理解设备树中自定义外设节点的含义和属性。首先,需要创建一个.yaml格式的绑定文件,通常存放在目录下对应的子目录中,文件名应能反映外设的类型和功能。绑定文件的开头要定义基本信息,包括字段,用于简要描述外设的功能和用途;compatible字段,它是一个字符串列表,用于匹配设备树中自定义外设节点的compatible属性,设备树节点和绑定文件通过这个字段关联起来。接下来,要定义外设节点的属性。使用properties。

大模型大数据攻城狮的专栏 988

采用动态规划思维求解数塔问题,c++实现

采用动态规划思维求解数塔问题,c++实现数塔问题算法实现结果 数塔问题 问题描述: 加粗样式从塔顶往下走,如何走过的步数最大 问题分析: 数塔游戏(5层) 从塔顶到塔底,走过的值最大 从第一层开始,往左走还是往右走,变化两个4层他的问题,因此改问题存在子问题重叠性质 由于该问题要求走过的值最大,因此,该问题存在要求最优解,因此符合动态规划用法 递归求解过程: 塔数据用二维数组存储d[5][5],规划表格用maxD[5][5]存储(用来存储子问题的解),该结构是下三角结构 划分子问题:第1层走左还

ta_huang的博客 4684

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

动态规划算法求解数塔问题C语言,动态规划 数塔问题求解 C++实现

/** File name : digital_tower.cpp* Function : 动态规划 数塔问题求解 C++实现* Created on : 2016年6月17日* Author : beijiwei@qq.com* Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。任何单位和个人不经本人允许不得用于商业用途 9 12 15...

weixin_32199977的博客 541

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

数塔问题算法c语言,动态规划 数塔问题求解 C++实现

/** File name : digital_tower.cpp* Function : 动态规划 数塔问题求解 C++实现* Created on : 2016年6月17日* Author : beijiwei@qq.com* Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。任何单位和个人不经本人允许不得用于商业用途912 1510 6 82 18...

weixin_39520149的博客 1066

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

1002 数塔取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。    5   8 4  3 6 9 7 2 9 5 例子中的最优方案是:5 + 8 +

海岛Blog 1048

动态规划~数塔问题

*烟台大学计算机学院学生 *All right reserved. *文件名称*烟台大学计算机学院学生

u012370105的专栏 1269

hdu1176免费馅饼--简单DP,类似于数塔问题--Java和cpp实现

此题目必须开二维数组以暂存不同时间的数据从上到下(时间大到小)比较简单,最后输出dp[0][5]的值就可以了。即使dp[0][1-4,6-10]某的数据比dp[0][5]大也不用管。因为开始时(0秒)人站在dp[0][5]的地方,dp[0][5]的结果是有大到小至的dp[1][4],dp[1][5],dp[1][6]的最大值。其余同理。Java实现代码如下:import java.io.Buffe...

m0_38024592的博客 509

c++ 递推

递推的概念递推的概念——递推关系式。

butterfly_onfly的专栏 322

dp 数塔

数塔 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 44 Accepted Submission(s) : 31 Font: Times New Roman | Verdana | Georgia Font Size: ← → P

a716121的专栏 476

【数塔】1002 数塔取数问题【51nod】

题目链接: 1002 数塔取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。    5   8 4

wlxsq的专栏 1071

HDU2084 数塔

Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗?   Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1

王川的私房菜 940
上一篇: C++ 判断元素是否存在
下一篇: C++ x的x次幂
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值