不要11

447 词

题目描述

长度为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;
}