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