博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Algorithm --> 爬楼梯求最大分数
阅读量:4585 次
发布时间:2019-06-09

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

爬楼梯求最大分数

如下图,最大分数是: 10+20+25+20=75.

      

要求:

1、每次只能走一步或者两步;

2、不能连续三步走一样的,即最多连续走两次一步,或者连续走两次两步;

3、必须走到最后一层台阶。

 

代码:

#include 
#include
#include
using namespace std;#define MAX 301#define max(a, b) ((a) > (b) ? (a) : (b))int Answer, N;int stairs[MAX];int dp[MAX];int main( int argc, char** argv ){ int T, test_case; freopen( "input_climingstairs.txt", "r", stdin ); cin >> T; for( test_case = 0; test_case < T; test_case++ ) { Answer = 0; cin >> N; memset( dp, 0, sizeof( dp ) ); for( int i = 1; i <= N; i++ ) { cin >> stairs[i]; } dp[0] = 0; dp[1] = stairs[1]; dp[2] = stairs[2] + dp[1]; for( int j = 3; j <= N; j++ ) { dp[j] = max( dp[j-2], dp[j-3] + stairs[j-1] ) + stairs[j]; } Answer = dp[N]; cout << Answer << endl; } return 0;}

 

输入文件:

571311527292120167228392738897167258455885418330252001321142419011010566459771761331551091877029268719371531995340192961241361581151551761711501747149127127681731341861804692776018216813939104139198158303816231102895660565657636114773294319546245561033245618645513438662327865282776622754029872349265437371749223841155410425210254813669372331132576345760062465154939331179212426420116160242422
View Code

 

转载于:https://www.cnblogs.com/jeakeven/p/4788686.html

你可能感兴趣的文章
182. Duplicate Emails
查看>>
Redis、Memcache和MongoDB的区别
查看>>
设计模式笔记 ------ 原型模式
查看>>
通过Repeater控件绑定数据,相同数据合并单元格。
查看>>
h5 和之前版本的区别
查看>>
【UVAlive 3989】 Ladies' Choice (稳定婚姻问题)
查看>>
【FFT&NTT 总结】
查看>>
洛谷——P1802 5倍经验日
查看>>
leetcode121—Best Time to Buy and Sell Stock
查看>>
【系统优化】为系统提速,何须重装
查看>>
让Chrome 接管邮件连接,收发邮件更方便了
查看>>
cmd 编码 utf8
查看>>
jquery-file-upload demo
查看>>
第一期_Nor Flash
查看>>
oracle 10g
查看>>
ecshop那些事
查看>>
Oracle复制表结构及数据
查看>>
javaweb实现添加课程
查看>>
andriod jbox2d学习笔记二 通过移动关节移动body
查看>>
python列表-简单操作
查看>>