题目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. Programming with Objective-C ----------Encapsulating Data

    Most Properties Are Backed by Instance Variables By default, a readwrite property will be backed by ...

  2. PAT MOOC dataStructure 4-1

    数据结构练习 4-1 AVL 树 1. 题目: Input Specification: Each input file contains one test case. For each case, ...

  3. 公众平台调整SSL安全策略 不再支持SSLv2、SSLv3版本

    昨天夜间,微信团队发布重要安全策略调整,将关闭掉SSLv2.SSLv3版本支持,不再支持部分使用SSLv2. SSLv3或更低版本的客户端调用.请仍在使用这些版本的开发者于11月30日前尽快修复升级. ...

  4. 第2月第25天 BlocksKit

    1.blockskit https://github.com/zwaldowski/BlocksKit bk_showAlertViewWithTitle 2.toast +(void)showToa ...

  5. javascript数据结构-介绍

    github博客地址 名词解释 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率.数据结构 ...

  6. (备忘)Rect和RectF的区别

    1.Rect的变量使用int类型,而RectF使用float类型. 2.一些方法区别 <1>.Rect类 equals(Object obj) (for some reason it as ...

  7. sql server 2008 数据的行转列

    create table tb(id int, value varchar(10)) insert into tb values(1,'aa') insert into tb values(1,'bb ...

  8. WebService的创建发布及部署

    1.打开win7的IIS功能: http://jingyan.baidu.com/article/2a138328ae4b85074b134f55.html 2.IIS注册Frameworkt4.0 ...

  9. 单节点下多个Tomcat服务器并存的端口号配置

    一个服务器节点同时安装多个tomcat服务器时,如果仅仅修改访问端口号则会提示端口冲突启动失败,还需要修改另外端口号解决,一共需要修改3处地方,修改如下: 编辑配置文件:server.xml 1.首先 ...

  10. SQL优化

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...