题目描述
长度为n但是不含11的字符串(只含01构成)有多少?(允许有前导0)
输入
一个正整数长度n(1<=n<=1000)
输出
所有不含有11的字符串的总数由于数值很大,请输出对与1000000007取模的结果
样例输入
2
样例输出
3
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
long long dp[1001][2];
memset(dp, 0, sizeof(dp));
dp[1][0] = 1;
dp[1][1] = 1;
for (int i = 2; i <= n; i++) {
dp[i][0] = (dp[i - 1][0] + dp[i - 1][1]) % 1000000007;
dp[i][1] = dp[i - 1][0] % 1000000007;
}
cout << (dp[n][0] + dp[n][1]) % 1000000007 << endl;
return 0;
}