各种跳台阶(Acwing && 蓝桥杯模拟)

动态规划:

递归:

cpp 复制代码
#include <iostream>

using namespace std;

 int ans;
 int n;

void f(int k)
{
   
    if(k==n)ans++;
    else if(k<n)
    {
        f(k+1);
        f(k+2);
    }
}


int main()
{
   
    cin >> n;
    f(0);
    cout << ans;
    return 0;
    
}

递推:

cpp 复制代码
#include <iostream>

using namespace std;
const int N = 25;
int n,f[N];

int main()
{
  cin >> n;
  f[0]=1;
  
  for(int i=1;i<=n;i++)
  {
   for(int j=1;j<=3;j++)
   {
       if(i-j>=0)
       f[i]+=f[i-j];
   }
  }
  
  cout << f[n];
    return 0;
}
相关推荐
烛衔溟4 分钟前
C语言多级指针与函数指针:指针的高级用法
c语言·算法
Sunhen_Qiletian37 分钟前
YOLOv2算法详解(下篇):细节打磨与性能突破的终极密码
算法·yolo
wefg12 小时前
【数据结构】unordered 系列容器底层结构和封装
数据结构·算法·哈希算法
从零点2 小时前
插补算法(逐点比较法)+PWM配置操作
算法
DARLING Zero two♡2 小时前
【优选算法】LinkedList-Concatenate:链表的算法之契
数据结构·c++·算法·链表
Moonbit2 小时前
MoonBit Pearls Vol.14:哈希表避坑指南
后端·算法·编程语言
杰克尼3 小时前
120. 三角形最小路径和
算法
树在风中摇曳3 小时前
C语言动态内存管理:从基础到进阶的完整解析
c语言·开发语言·算法
mjhcsp3 小时前
C++ 高精度计算:突破数据类型限制的实现与应用
开发语言·c++·算法·高精度