专题三 Problem J

来源:互联网 发布:淘宝注册条件 编辑:程序博客网 时间:2024/05/16 17:25
一、题目编号:
          1010
二、简单题意:
         有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
三、解题思路形成过程
         由于每次只能向上跨一级或两级,所以要走到第i级有两种情况,从第i-1级跨一级上去或者第i-2级跨两级上去。所以走到第i级的方法等于走到第i-1级的方法加上走到第i-2级的方法。即v[i]=v[i-1]+v[i-2]。
四、感想
         依旧是递推,很简单。
五、AC代码
#include<iostream>
using namespace std;
int main()
{
    long long v[41];
    v[2]=1;v[3]=2;
    for(int i=4;i<41;i++)
    {
        v[i]=v[i-1]+v[i-2];
    }
    int n,m;
    cin>>n;
    while(n--)
    {
        cin>>m;
        cout<<v[m]<<endl;
    }
    return 0;
}

0 0
原创粉丝点击