版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liujie2232692543/article/details/88980601
Description
最近俏智不太想学习的,学习有啥好的,还不如回家找金矿尼。果不其然,俏智回家后还真发现了一处金矿,为了能顺利的把金子全部采集出来,俏智对这块地理结构进行了多年的探测,最后总结出结论这个地方类似于二叉树结构,俏智发现的矿洞恰好位于根节点处,为了尽快挖掘,俏智找来了她的小伙伴们来帮忙,由于地质原因,每天小伙伴们只能打通到一条到子节点的道路(不消耗时间),也就是说每天一个节点只能向一个子节点建设道路,走一条路需要一天的时间,当发现一条道路后,会有一部分小伙伴选择留下来继续勘测,假设小伙伴们有无数个,树的深度足够大,问第n天最多共建设几条道路。
Input
单组样例一行一个数n(n<=5*10^6)
Output
一行,一个数表示n天以后道路的数量,答案对 10000000007 取模。
Sample Input 1
2
Sample Output 1
3
Sample Input 2
100
Sample Output 2
6531708670
我的代码:
#include <bits/stdc++.h>
using namespace std;
long long a[50000005];
int main()
{
long long n,i;
cin >> n;
a[0] = 0;
a[1] = 1;
for(i=2;i<=n;i++)
{
a[i] = (a[i-1]%10000000007 + a[i-2]%10000000007 + 2)%10000000007;
}
printf("%lld\n",a[n]%10000000007);
return 0;
}