hdoj2046

来源:互联网 发布:珠海广电网络 编辑:程序博客网 时间:2024/06/03 09:16

#include<iostream>
using namespace std;
int main(void)
{
    long long a[100];
    int i,n;
    a[1]=1;
    a[2]=2;
    for(i=3;i<=50;++i)
    a[i]=a[i-1]+a[i-2];
    while(cin>>n)
    {
        cout<<a[n]<<endl;
    }
}
/*
(1)先铺好n-1个格,有f(n-1)个方法,再铺第n层的时候只有一种方法,所以总方法是1*f(n-1);
(2)先铺好n-2格,有f(n-2)个方法,再铺后面两层的时候只能两个都横着铺(否则与第一种情况重复),所以也只有一种;
*/
1 0
原创粉丝点击