在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
输入格式:
多组数据,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0输出格式:
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
输入样例:
1
3
2
输出样例:
1
3
2
为了ac不择手段系列,卡着时间过了。。。
之前写的时候忘了打表了。。。
#include<stdio.h>
int main()
{
int n;
long long int count(int x);
while(scanf("%d",&n)!=EOF)
{
printf("%lld\n",count(n));
}
return 0;
}
long long int count(int x)
{
long long int m;
if(x==1||x==2||x==3)
m=x;
else if(x==4)
m=5;
else if(x==5)
m=8;
else if(x==6)
m=13;
else if(x==7)
m=21;
else if(x==8)
m=34;
else if(x==9)
m=55;
else if(x==10)
m=89;
else if(x==11)
m=144;
else if(x==12)
m=233;
else if(x==13)
m=377;
else if(x==14)
m=610;
else if(x==15)
m=987;
else if(x==16)
m=1597;
else//无fu**说
m=count(x-1)+count(x-2);
return m;
}