题目http://hihocoder.com/problemset/problem/1037

  • 一个迷宫有n层,第 i 层有 i 个房间
  • 从第i层的第i个房间(i, i)可以走到第i+1层的第i个房间或第i+1房间(i+1, i)/(i+1, i+1)
  • 每个房间走出去后都不能回头

样例输入

5 //迷宫的层数
2
6 4
1 2 8
4 0 9 6
6 5 5 3 6
结果: 28
思路
动态规划
maze[i, j] = max(maze[i-1, j], maze[i-1, j-1]) 源码
  • 迭代方式,从下而上
 #include <iostream>
using namespace std; static int maze[][];//存储到达每一个房间收集到的最多券
static int data[][];//存储每一个房间的券 int main()
{
int maxLevel, i = , max = ;
cin >> maxLevel; for (i = ; i < maxLevel; i++)
for (int j = ; j <= i; j++)
cin >> data[i][j];
//由低层到高层计算
maze[][] = data[][];
for (int i = ; i < maxLevel; i++)
{
for (int j = ; j <= i; j++)
{
if (j > && maze[i - ][j] < maze[i - ][j - ])
maze[i][j] = maze[i - ][j - ];
else
maze[i][j] = maze[i - ][j];
maze[i][j] += data[i][j];
}
}
//找出最后一层中券最多的房间
for (i = ; i < maxLevel; i++)
{
int tmp = maxLevel - ;
if (max < maze[tmp][i])
max = maze[tmp][i];
}
cout << max << endl;
return ;
}
  • 递归方式,从上而下
 #include <iostream>
using namespace std; int maze[][];
int data[][];
void dp(int level)
{
if (level < )
return;
dp(level - );
for (int room = ; room <= level; room++)
{
if (level > )
{
if (room > )
maze[level][room] = maze[level - ][room] > maze[level - ][room - ] ? maze[level - ][room] : maze[level - ][room - ];
else
maze[level][room] = maze[level - ][room];
}
else
maze[level][room] = ;
maze[level][room] += data[level][room];
}
}
int main()
{
int maxLevel, i = , max = ;
cin >> maxLevel; for (i = ; i < maxLevel; i++)
for (int j = ; j <= i; j++)
cin >> data[i][j];
dp(maxLevel - );
for (i = ; i < maxLevel; i++)
{
int tmp = maxLevel - ;
if (max < maze[tmp][i])
max = maze[tmp][i];
}
cout << max << endl;
return ;
}

【hihoCoder】1037 : 数字三角形的更多相关文章

  1. hihoCoder 1037 数字三角形 最详细的解题报告

    题目来源:hihoCoder 1037 数字三角形 解题思路:请好好看看 提示一.提示二.提示三 具体算法(java版,可以直接AC) import java.util.Scanner; public ...

  2. hihocoder 1037 数字三角形

    #1037 : 数字三角形 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸 ...

  3. hihoCoder #1037 : 数字三角形 (动态规划)

    题目链接:https://hihocoder.com/problemset/problem/1037# 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋 ...

  4. hihoCoder#1037 : 数字三角形(DP)

    [题目链接]:click here~~ 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描写叙述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他 ...

  5. poj-3176 Cow Bowling &&poj-1163 The Triangle && hihocoder #1037 : 数字三角形 (基础dp)

    经典的数塔模型. 动态转移方程:  dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+p[i][j]; #include <iostream> #include ...

  6. 【HIHOCODER 1037】 数字三角形

    链接 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国.美国人民的生活非常有意思,经常会有形形色色.奇奇怪怪的活动举办,这不,小Hi和小Ho刚 ...

  7. G:数字三角形

    总时间限制: 1000ms 内存限制: 65536kB描述73   88   1   02   7   4   44   5   2   6   5 (图1) 图1给出了一个数字三角形.从三角形的顶部 ...

  8. 4829 [DP]数字三角形升级版

    4829 [DP]数字三角形升级版  时间限制: 1 s  空间限制: 16000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 从数字三角形的顶部(如图, ...

  9. 【递归】数字三角形 简单dp

    [递归]数字三角形 题目描述 对于大多数人来说,“我们是这么的正常,因此也就这么的平庸.”而天才总是与众不同的,所以当邪狼问修罗王:“老大,你蹲在那儿一动不动看了有半个小时了,蚂蚁有那么好看吗?” 修 ...

随机推荐

  1. 交叉编译中的build、host和target

    build.host和target    在交叉编译中比较常见的一些参数就是build.host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释 --build=编译 ...

  2. mongo副本集搭建及服务器复用方案

    比较常见的mongodb副本集搭建是有:常规节点.数据副本.仲裁节点组成,也就是需要三台服务器组建.常规节点即数据的主存储节点,数据副本是主存储节点的从属节点,它定期去主节点获取更新日志来更新自己.仲 ...

  3. css特殊字符总结

    < :    &lt > :    &gt

  4. Java 中的内存泄露

    1.当你完成对流的读写时,应该通过调同close方法来关闭它,这个调用会释放掉十分有限的系统资源,否则,如果一个应用程序打开了过多的流而没有关闭,那么系统资源将被耗尽.

  5. python的os模块

    1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件和目录名:os.listdir() 3.函数用来删除一个文件:os.remove() ...

  6. python 字典的函数

    clear(),清空 注意单纯的赋值就相当于c语言中引用,只事额外起了一个别名,所以他们指向相同的地址, 所以令c={},只是另外开辟了一个新的空间让c为空,并没有改变之前的空间,所以{}与clear ...

  7. tornado 重定向404(方法不对)

    application = tornado.web.Application(url_wrapper([ (r"", include('app.views.web_services. ...

  8. Other Linker Flags到底是什么

    一.问题描述 在项目开发中用到百度地图,有时候在工程中会报“方法找不到”的错误(unrecognized selector sent to instance). 二.问题分析 首先,要说明一下Othe ...

  9. 去掉UITableView多余的空白行分割线

    一.问题描述 在学习和开发中经常会遇到下面的问题,UITableView的UITableViewCell很少或者没有时,但UITableView有很多的空白行分割线.如下图: 如何去掉UITableV ...

  10. hibernate中HQL多对多的查询

    现有三张表 TLXPURCHASE.采购事项审批表,TLXPURCHASEACTIVITY.采购招标活动对应表,TLXACTIVITY.招标活动表,采购事项审批表和采购活动表是多对多关系.java中定 ...