蓝桥杯OJ716【限定第一步和最后一步爬台阶的经典例题】【动态规划】

题目:【蓝桥杯经典例题】

https://www.lanqiao.cn/problems/716/learning/?page=1&first_category_id=1&name=%E5%8F%B0%E9%98%B6https://www.lanqiao.cn/problems/716/learning/?page=1&first_category_id=1&name=%E5%8F%B0%E9%98%B6

可执行代码:

cpp 复制代码
//以斐波那契数列的方式来做这个题
#include<bits/stdc++.h>
using namespace std;
long long feet_left[40],feet_right[40];//【数组下标为0都浪费掉】,【feet_left[i]1到39分别表示第1到第39级台阶迈左脚的情况】,
//【feet_right[i]1到39分别表示第1到第39级台阶迈右脚的情况】
int main(){
feet_left[1]=1;
feet_left[2]=1;//第一级台阶一定迈左脚,第二步要想迈左脚,当且仅当第一步是迈了两个台阶,都是3一种情况
feet_right[1]=0;
feet_right[2]=1;//第一级台阶一定迈左脚,所以迈右脚的可能性为0,第二级台阶迈右脚当且仅当第一步左脚上了一级台阶,第二步右脚上了一级台阶

for(int i=3;i<=39;i++){
  feet_left[i]=feet_right[i-1]+feet_right[i-2];
  feet_right[i]=feet_left[i-1]+feet_left[i-2];
}
cout<<feet_right[39];//第39级台阶是右脚迈上来的
  return 0;
}
相关推荐
代码中介商9 分钟前
C++四大设计模式:单例、工厂、观察者、策略
java·c++·设计模式
wabs66615 分钟前
关于贪心算法【划分字母区间】的问题总结(C++语法)
算法·贪心算法
2401_8724187823 分钟前
什么是多范式编程语言?——以 C++ 为例深入理解编程范式
java·大数据·c++
啦啦啦啦啦zzzz1 小时前
数据结构:二叉树的线索化
数据结构·算法
basketball6161 小时前
设计模式入门:3. 适配器模式详解 C++实现
c++·设计模式·适配器模式
2401_872418781 小时前
算法入门:并查集(Disjoint Set / Union-Find):连通性问题的利器
算法
luj_17681 小时前
R语言生态优势与学习曲线分析
c语言·开发语言·网络·经验分享·算法
程序大视界1 小时前
【C++ 从基础到项目实战】C++(二):数组、字符串与结构体——组织数据的容器
开发语言·c++·cpp
计算机安禾1 小时前
【算法分析与设计】第36篇:计算几何基础:凸包问题的分治与扫描线解法
大数据·人工智能·算法·机器学习·剪枝
叶子野格2 小时前
《C语言学习:文件操作》16
c语言·开发语言·c++·学习·visual studio