题目描述
有2行n列的长方形方格,要求用n个1*2的骨牌铺满。有多少种铺法?
如n=3时有以下3种覆盖方法:
输入
第一行输入一个正整数n(1<=n<=50)
输出
输出一个整数表示方案数。
样例输入
3
样例输出
3
数据范围限制
数据范围:
1<=n<=50
代码:
#include<bits/stdc++.h>
using namespace std;
long long n;
int main()
{
cin>>n;
if(n==0)
{
cout<<0;
return 0;
}
if(n==1)
{
cout<<1;
return 0;
}
long long i=2;
long long x=1,y=2,t;
while(i!=n)
{
i++;
t=y;
y=y+x;
x=t;
}
cout<<y;
}