广场铺砖
有一个W行H列的广场,需要用1*2小砖铺盖,小砖之间互相不能重叠,问有多少种不同的铺法?
只有一行2个整数,分别为W和H,(1<=W,H<=11)
输出格式
只有1个整数,为所有的铺法数。
样例数据
input
2 4
output
5
数据规模与约定
样例解释:
时间限制:1s
空间限制:256MB
一开始看到这道题的时候,其实会想到的就是搜索,但是!!!!!
因为w,h<=11,很容易想到采用搜索的方法,可以采用深搜或宽搜均可。
尽管w,h<=11,不很大,但是用1*2的砖铺,深度最大可达到11,这样,如果采用深搜,对于每一层都需要回溯,时间复杂度也很高。
如果采用宽搜,每一个点都有2种铺法,因此可以扩展出2个结点,要求所有的解,必须扩展全部树结构,如果11层结点,是个完全二叉树,结点数量可达211*11 =2121 ,无论空间和时间都难以承受。
因此我们需要采用其他方法。
所以需要用到状态压缩由题意易得,铺的地砖,只会对这层或者下层的地砖有影响;就是说,第i行就表示第i个阶段的状态&#