题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
1 class Solution { 2 public: 3 int rectCover(int number) { 4 if(number == 0) 5 { 6 return 0; 7 } 8 else if(number == 1) 9 { 10 return 1; 11 } 12 else if(number == 2) 13 { 14 return 2; 15 } 16 else 17 { 18 int a = 1; 19 int b = 2; 20 int c; 21 for(int i = 3;i <= number;++i) 22 { 23 c = a + b; 24 a = b; 25 b = c; 26 } 27 return c; 28 } 29 } 30 };