描述
有1×n的一个长方形,用1×1、1×2、1×3的骨牌铺满方格。例如当n=3时为1×3的方格,此时用1×1,1×2,1×3的骨牌铺满方格,共有四种铺法。
输入
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是1×n (0<n<=50)。
输出
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
样例输入
1
2
3
2
3
样例输出
1
2
4
2
4
#include<iostream>
using namespace std;
__int64 a[51],i;
int main()
{
int n;
a[1]=1;a[2]=2;a[3]=4;
for(i=4;i<=50;i++)
a[i]=a[i-1]+a[i-2]+a[i-3];
while(cin>>n)
{
cout<<a[n]<<endl;
}
return 0;
}