题目描述
- 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
- 地址:牛客链接
解决方法
- 一个归纳总结题:如何找递归关系
- 用 f(n) 表示 用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法,那么当 n = 1时,只有一种方法,那便是竖着放,所以 f(1) = 1; 当 n = 2时,有2种方法,那便是两个都竖着放,或者两个都横着放,所以 f(2) = 2
- 那么如果第一个竖着放,剩下为2*(n - 1)的大矩形,放法为 f(n - 1);如果第一个横着放,那么必须还有一个横着放,剩下为2*(n - 2)的大矩形,放法为 f(n - 2);
- 综上 f(