hdu1143

/*
分析:
    对于3*n的地板,当n是奇数的时候,用1*2的板坑定是木
法儿铺的,所以当n为奇数的时候,f[n]=0;
    其余的,用1*2可以构成2*3、4*3、6*3……的基本块儿,(
注意4*3可不是说用俩2*3的凑到一起啊,对于6*3等也是
一样),除了2*3的块儿可以有三种情况外,其它的都是两种。


    其它的推就行了。


                                              2012-07-11
*/






#include"stdio.h"
int main()
{
	int f[31];
	int i,l;
	int n;


	f[0]=1;
	for(i=1;i<=30;i+=2)	f[i]=0;
	for(i=2;i<=30;i+=2)
	{
		f[i]=0;
		for(l=2;l<=i;l+=2)
		{
			if(l==2)	f[i]+=3*f[i-l];
			else		f[i]+=2*f[i-l];
		}
	}


	while(scanf("%d",&n),n!=-1)	printf("%d\n",f[n]);
	return 0;
}


你可能感兴趣的:(hdu1143)