博客
关于我
数塔取数问题
阅读量:281 次
发布时间:2019-03-01

本文共 580 字,大约阅读时间需要 1 分钟。

一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。

每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。

   5

  8 4

 3 6 9

7 2 9 5

例子中的最优方案是:5 + 8 + 6 + 9 = 28

Input

第1行:N,N为数塔的高度。(2 <= N <= 500) 第2 - N + 1行:每行包括1层数塔的数字,第2行1个数,第3行2个数......第k+1行k个数。数与数之间用空格分隔(0 <= Aii <= 10^5) 。

Output

输出最大值

Sample Input

458 43 6 97 2 9 5
Sample Output
28
#include
using namespace std;int a[600][600];int main(){ int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=i;j++) scanf("%d",&a[i][j]); } for(i=n-1;i>=1;i--) { for(j=1;j<=i;j++) a[i][j]+=max(a[i+1][j],a[i+1][j+1]); } printf("%d\n",a[1][1]); return 0;}

 

转载地址:http://xfho.baihongyu.com/

你可能感兴趣的文章
mysql数据库批量插入数据shell脚本实现
查看>>
MySQL数据库操作
查看>>
MySQL数据库故障排错
查看>>
MySQL数据库无法远程连接的解决办法
查看>>
mysql数据库时间类型datetime、bigint、timestamp的查询效率比较
查看>>
MySQL数据库服务器端核心参数详解和推荐配置(一)
查看>>
mysql数据库死锁的产生原因及解决办法
查看>>
MySQL数据库的事务管理
查看>>
mysql数据库的备份与恢复
查看>>
Mysql数据库的条件查询语句
查看>>
MySQL数据库的高可用
查看>>
Mysql数据库相关各种类型的文件
查看>>
MYSQL数据库简单的状态检查(show processlist)
查看>>
MYSQL数据库简单的状态检查(show status)
查看>>
MySQL数据库系列
查看>>
MYSQL数据库自动本地/异地双备份/MYSQL增量备份
查看>>
mysql数据库表增添字段,删除字段、修改字段的排列等操作,还不快来
查看>>
MySQL数据库被黑了
查看>>
mysql数据库设计
查看>>
MySQL数据库设计与开发规范
查看>>