博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod1031(简单斐波拉契数列)
阅读量:5019 次
发布时间:2019-06-12

本文共 559 字,大约阅读时间需要 1 分钟。

题目链接:

 

题意:中文题诶~

 

思路:对于第x块骨牌的情况,我们用a[x]表示其方法数;其比x-1块骨牌时多了一块骨牌,多出的骨牌有两种放法:

1.我们可以直接将其竖着添加在最末端,那么其排列数就为就是前x-1块骨牌的排列数,即为a[x-1];

2. 我们也可以将其和其前面一块骨牌一起横着放,那么其排列数就是前x-2块骨牌的排列数,即为a[x-2];

所以有 a[x]=a[x-1]+a[x-2];

 

代码:

1 #include 
2 #define MAXN 1010 3 using namespace std; 4 5 const int mod=1e9+7; 6 7 int main(void){ 8 int a[MAXN], n; 9 a[0]=1, a[1]=1;10 cin >> n;11 for(int i=2; i<=n; i++){12 a[i]=(a[i-1]+a[i-2])%mod;13 }14 cout << a[n] << endl;15 return 0;16 }

 

转载于:https://www.cnblogs.com/geloutingyu/p/6280350.html

你可能感兴趣的文章
查看Linux信息
查看>>
Python中sys模块sys.argv取值并判断
查看>>
【详记MySql问题大全集】四、设置MySql大小写敏感(踩坑血泪史)
查看>>
并查集
查看>>
ubuntu 11.04下android开发环境的搭建!
查看>>
Bzoj 3343: 教主的魔法
查看>>
括号序列(栈)
查看>>
一件趣事
查看>>
DevExpress控件TExtLookupComboBox实现多列模糊匹配输入的方法
查看>>
atom 调用g++编译cpp文件
查看>>
H3C HDLC协议特点
查看>>
iptables 网址转译 (Network address translation,NAT)
查看>>
ios __block typeof 编译错误解决
查看>>
android 插件形式运行未安装apk
查看>>
ios开发之 manage the concurrency with NSOperation
查看>>
Android权限 uses-permission
查看>>
NSEnumerator用法小结
查看>>
vim如何配置go语言环境
查看>>
机器学习好网站
查看>>
python 中的 sys , os 模块用法总结
查看>>