m0_61048682 2021-12-26 13:42 采纳率: 0%
浏览 206

3级台阶问题 (记忆化搜索)

3级台阶问题 (记忆化搜索)
题目描述

楼梯有 n (70 >= n > 0) 阶台阶,上楼时可以一步上 1 阶, 也可以一步上 2 阶,也可以一步上 3 阶,编程计算共有多少种不同的走法。

输入描述:

第一行为 t 组数据

接下来t行,每一行一个整数,即为台阶数 n。

输出描述:

共 t 行,每一行为相应台阶数下走法的数目。

输入样例:

5
1
2
3
4
5
输出样例:

1
2
4
7
13

  • 写回答

4条回答 默认 最新

  • 古津梦 2024-08-18 21:01
    关注
    
    #include<iostream>
    long long a[75]={0};
    long long f(int n){
        if (n <= 0) return 0; 
        if(n == 1)
            return 1;
        if(n == 2)
            return 2;
        if(n == 3)
            return 4;
        if (a[n] != 0) return a[n]; 
        return a[n]=f(n - 1) + f(n - 2) + f(n - 3);
    }
     
    int main(){
        int t;
        std::cin >> t;
        for (int j = 0; j <= 75; j++) {
            a[j] = 0;
        }
        for (int i = 0; i < t; i++) {
            int n;
            std::cin >> n;
                
            
            std::cout << f(n) << std::endl;
        }
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月26日

悬赏问题

  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?