题目大意:求有多少种方法可以用1x2的骨牌铺满3xN的矩形
程序中给出了递推关系,事实上,化简后的公式为
ans[n]=4*ans[n-2]-ans[n-4]
#include <stdio.h>
#define N 30
int fib[N+1];
void setfib(void)
{
int i,sum=1;
fib[0]=1;
fib[2]=3;
for(i=4;i<N+1;i+=2)
{
fib[i]=3*fib[i-2]+2*sum;
sum+=fib[i-2];
}
}
int main(void)
{
int n;
setfib();
while(scanf("%d",&n)!=EOF&&n!=-1)
printf("%d\n",fib[n]);
return 0;
}