矩形覆盖

来源:互联网 发布:花生壳域名使用方法 编辑:程序博客网 时间:2024/05/19 17:03

题目描述

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

解题思路:记把2*n的覆盖方法为f(n);

先将一个小矩形竖着放:放下之后有  f(n-1)种方法

再将小矩形横着放:放下之后有 f(n-2)种方法

故n>2时,共有f(n-1)+f(n-2)种方法。

class Solution {public:    int rectCover(int number) {        int method=0;        if(number<=2)            {            if(number<=0)method=0;            elsemethod=number;        }        else            {            method=rectCover(number-1)+rectCover(number-2);        }        return method;    }};


0 0