骨牌铺方格
题目
分析
F(0) = 0,没有地方摆骨牌,所以为0;
f(1) = 1,只能竖着摆放1个骨牌;(1种铺放方案)
f(2) = 2,可以是横着摆放2个骨牌,或者竖着摆放2个骨牌;(1种铺放方案)
f(n) = f(n-2) + f(n-1),n>2,可以在f(n-2)的基础上在右边再横着放2个骨牌(竖着放已经在f(n-1)中),也可以在f(n-1)的基础上在右边再竖着1个骨牌。
【类似于超级楼梯】
代码:
#include<stdio.h>
int main()
{
int n,m,t;
long long a[55]={1,1,2};
for(int i=3;i<=50;++i){
a[i]=a[i-2]+a[i-1];
}
while(~scanf("%d",&m)){
printf("%lld\n",a[m]);
}
return 0;
}