矩阵覆盖
OJ地址:矩阵覆盖
方法一:迭代
int rectCover(int number) {
if(number == 0)
return 0;
int first = 1;
int second = 1;
int third = 1;
for(int i = 2; i<= number; i++)
{
third = first + second;
first = second;
second = third;
}
return third;
}
方法二:动态规划
int rectCover(int number) {
if(number == 0)
return 0;
int *dp = new int[number + 1];
dp[0] = 0;
dp[1] = 1;
dp[2] = 2;
for(int i = 3; i <= number; i++)
{
dp[i] = (dp[i - 1] + dp[i - 2]) % 1000000007;
}
return dp[number];
}