zoukankan      html  css  js  c++  java
  • Problem J

    Problem Description
    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

    Input
    输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。

    Output
    对于每个测试实例,请输出不同走法的数量

    Sample Input
    2
    2
    3

    Sample Output
    1
    2

    题意:自己看题目吧,这么简单明了的题意0.0;
    解题思路:没啥思路。。。。。。上学期做过的题,每次状态的转移都是上一层和上两层状态的和;
    感悟:还能记得上学期的题,还行,但是更能理解状态转移的过程:
    代码:
    #include
    #include
    #define maxn 45
    using namespace std;
    int n,m,dp[maxn]={0};
    void solve()
    {
        dp[1]=1;
        dp[2]=1;
        for(int i=3;i<45;i++)
        {
            dp[i]=dp[i-1]+dp[i-2];//每次的状态转移都是前1层和前两层状态的和
        }
    }
    int main()
    {
        //freopen("in.txt", "r", stdin);
        solve();
        scanf("%d",&n);
        while(n--)
        {
            scanf("%d",&m);
            printf("%d ",dp[m]);
        }
        return 0;
    }
  • 相关阅读:
    windows下安装python模块
    红包demo
    如何查看python 的api
    vscode 与 python 的约会
    默认构造函数
    关于重载
    转类型转换
    asm-offset.h 生成
    debian 7 安装
    emacs 定制进缩风格
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/5781581.html
Copyright © 2011-2022 走看看