hiho第五周
来源:互联网 发布:中咨数据有限公司待遇 编辑:程序博客网 时间:2024/06/04 19:43
- 样例输入
526 41 2 84 0 9 66 5 5 3 6
- 样例输出
28
问题描述
小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国。美国人民的生活非常有意思,经常会有形形色色、奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动。迷宫节里展览出来的迷宫都特别的有意思,但是小Ho却相中了一个其实并不怎么像迷宫的迷宫——因为这个迷宫的奖励非常丰富~
于是小Ho找到了小Hi,让小Hi帮助他获取尽可能多的奖品,小Hi把手一伸道:“迷宫的介绍拿来!”
小Ho选择的迷宫是一个被称为“数字三角形”的n(n不超过200)层迷宫,这个迷宫的第i层有i个房间,分别编号为1..i。除去最后一层的房间,每一个房间都会有一些通往下一层的房间的楼梯,用符号来表示的话,就是从第i层的编号为j的房间出发会有两条路,一条通向第i+1层的编号为j的房间,另一条会通向第i+1层的编号为j+1的房间,而最后一层的所有房间都只有一条离开迷宫的道路。这样的道路都是单向的,也就是说当沿着这些道路前往下一层的房间或者离开迷宫之后,小Ho没有办法再次回到这个房间。迷宫里同时只会有一个参与者,而在每个参与者进入这个迷宫的时候,每个房间里都会生成一定数量的奖券,这些奖券可以在通过迷宫之后兑换各种奖品。小Ho的起点在第1层的编号为1的房间,现在小Ho悄悄向其他参与者弄清楚了每个房间里的奖券数量,希望小Hi帮他计算出他最多能获得多少奖券。
提示一:盲目贪心不可取,搜索计算太耗时
提示二:记忆深搜逞神威,宽度优先解难题
提示三:总结归纳提公式,减少冗余是真理
输入
每个测试点(输入文件)有且仅有一组测试数据。
每组测试数据的第一行为一个正整数n,表示这个迷宫的层数。
接下来的n行描述这个迷宫中每个房间的奖券数,其中第i行的第j个数代表着迷宫第i层的编号为j的房间中的奖券数量。
测试数据保证,有100%的数据满足n不超过100
对于100%的数据,迷宫的层数n不超过100
对于100%的数据,每个房间中的奖券数不超过1000
对于50%的数据,迷宫的层数不超过15(小Ho表示2^15才3万多呢,也就是说……)
对于10%的数据,迷宫的层数不超过1(小Hi很好奇你的边界情况处理的如何?~)
对于10%的数据,迷宫的构造满足:对于90%以上的结点,左边道路通向的房间中的奖券数比右边道路通向的房间中的奖券数要多。
对于10%的数据,迷宫的构造满足:对于90%以上的结点,左边道路通向的房间中的奖券数比右边道路通向的房间中的奖券数要少。
输出
对于每组测试数据,输出一个整数Ans,表示小Ho可以获得的最多奖券数。
#include<iostream>using namespace std;unsigned int best[100][100];unsigned short int rewards[100][100];int main(){int n;cin>>n;//inputfor(int i=0; i<n; i++)for(int j=0; j<=i; j++)cin>>rewards[i][j];best[0][0]=rewards[0][0];for(int i=1; i<n; i++){best[i][0]=best[i-1][0]+rewards[i][0];best[i][i]=best[i-1][i-1]+rewards[i][i];}for(int i=2; i<n; i++)for(int j=1; j<=i; j++)best[i][j]=(best[i-1][j]>best[i-1][j-1]?best[i-1][j]:best[i-1][j-1])+rewards[i][j];unsigned int max=best[n-1][0];for(int i=1; i<n; i++){if(best[n-1][i]>max)max=best[n-1][i];}cout<<max<<endl;return 0;}
- hiho第五周
- hiho一下 第五十六周
- hiho一下 第五十八周
- hiho一下 第五十八周
- hiho一下 第五十九周
- hiho第五周--数字三角形
- 【hiho一下】第五周 数字三角形
- hiho一下 第五十九周 Performance Log
- hiho一下 第五周 Hihocoder #1037 : 数字三角形
- hiho第五周——数字三角形(动态规划)
- hiho一下 第五十二周(割边 割点)
- hiho一下 第五十八周 Beautiful String dp
- hiho一下 第五十九周 题目1 : Performance Log
- hiho一下 第五十六周 #1195 : 高斯消元·一 【高斯消元--】
- hiho一下 第五十三周(无向图的双连通分量)
- hiho一下 第五十五周 连通性·四(无向图点双连通分量)
- hiho一下 第五十六周 高斯消元·一(高斯消元解整数方程组)
- hiho一下 第五十六周 高斯消元·一(高斯消元解整数方程组)
- 类库、子系统、框架与架构
- 软件架构思想
- C++ STL遇到的几个问题
- 软件架构概念
- HDU 1247 Hat’s Words Trie题解
- hiho第五周
- HDU 4006 The kth great number (基本算法-水题)
- 《GOF设计模式》—组合(COMPOSITE)—Delphi源码示例:组合接口
- 软件架构视图
- 也许这、梦想起航的地方
- C++ primer(第五版) 练习 6.5 个人code
- 代码风格
- Java中迭代器使用小结
- LeetCode 072 Edit Distance