HDOJ 2041

这是一道简单的递推题目;

思路:同样这道题也是通过从后往前进行思考;假设我要到达14层楼梯,那么从第一层到达地14层的路线就是从第一层到达13层以及从第一层到达第12层所有路线的总和。

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#define Max 42
using namespace std;
int main(void)
{
    freopen("in.txt","r",stdin);
    int N;
    long long int b[Max];
    cin>>N;
    while(N--)
    {
        int n,i;
        cin>>n;
        memset(b,0,sizeof(b));
        if(n>1)
        {
            b[1]=1;
            b[2]=1;
            for(i=3;i<=n;i++)
                b[i]=b[i-1]+b[i-2];
        }
        cout<<b[n]<<endl;
    } 
    
    fclose(stdin);
    return 0;
}

 

posted @ 2018-09-05 17:35  pha创噬  阅读(100)  评论(0编辑  收藏  举报