矩形覆盖
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
仔细看题就会发现,前两道题和这道题其实思路都是差不多的。
1 class Solution { 2 public: 3 int rectCover(int number) { 4 int a=2, b=1; 5 int t = 0; 6 for(int i=3; i<=number; ++i) { 7 t = a+b; 8 b = a; 9 a = t; 10 } 11 if(number == 1) return 1; 12 else { 13 if(number == 2) return 2; 14 else { 15 if(number == 0) return 1; 16 else return t; 17 } 18 } 19 } 20 };