题:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路:这道题,看起来很复杂,其实还是一个最基本的动态规划题。题目说的是2*n的矩形。 我们可以不看第二行,只看第一行,这时候就变成了1*n的矩形。这下是不是和青蛙跳台阶是一样的了,当只剩最后一个2*1的矩形的时候,只有两种方法,第一种是横着放,第二种是竖着放,横着放的情况就是1*n-2,竖着放的情况就是1*n-1。所以F(n)=F(n-1)+F(n-2)。
代码就不写了。和青蛙跳台阶是一样的。
呕心沥血写出来的,转载请一定注明出处!