class Solution {
public:
    int rectCover(int number) {
      //  dp[i] 表示2*i的矩形块的覆盖方法数
      std::vector<int> dp(number + 1, 0);
      dp[1] = 1;
      dp[2] = 2;
      
      //  2*1 和 1*2 两种摆放方式
      
      for (int i = 3; i <= number; ++i) {
        dp[i] =  dp[i - 1] + dp[i - 2];
      }
      
      return dp[number];
    }
};