蓝桥杯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;
}
相关推荐
程序喵大人25 分钟前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法
hanlin0333 分钟前
动态规划专练:力扣第121、122题
笔记·算法·leetcode
To_OC39 分钟前
LC 74 搜索二维矩阵:换皮的二分查找,我居然一开始没看出来
javascript·算法·leetcode
文心快码BaiduComate40 分钟前
文心快码荣获“中国优秀软件产品”,实力再获国家级认可
算法·代码规范
玖玥拾44 分钟前
LeetCode 189 轮转数组
算法·leetcode
ZhangShao06071 小时前
题解:CF2249B
c++·算法
小玮看世界1 小时前
[Python]线段树与二分法
数据结构·算法
吹什么轩3 小时前
c++复习:map和set的使用
开发语言·c++
fpcc3 小时前
跟我学C++中级篇—内存流
开发语言·c++
Tisfy4 小时前
LeetCode 3345.最小可整除数位乘积 I:暴力枚举(从n开始尝试)
数学·算法·leetcode·题解·枚举