剑指10.矩形覆盖

题目描述

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

分析

 用2*1的小矩形覆盖大矩形最左边时有两种选择,竖着放或者横着放。当竖着放时,右边还剩下2*n-1的区域,覆盖方法记为f(n-1);

考虑横着放的情况,当2*1的小矩形放在左上角时,左下角必须横着放一个2*1的小矩形,而在右边还剩下2*n-2的区域,记为f(n-2)。

因此,f(n) = f(n-1) + f(n-2)。此题仍然是斐波那契数列。

解法

斐波那契数列 https://www.cnblogs.com/HuangYJ/p/12836918.html

原文地址:https://www.cnblogs.com/HuangYJ/p/13450819.html