NYOJ 252 01串
2015-07-16 20:39
197 查看
01串
时间限制:1000 ms | 内存限制:65535 KB难度:2
描述
ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。
注:01串的长度为2时,有3种:00,01,10。
输入第一行有一个整数n(0<n<=100),表示有n组测试数据;
随后有n行,每行有一个整数m(2<=m<=40),表示01串的长度;输出输出不含有“11”子串的这种长度的01串共有多少个,占一行。样例输入
2 2 3
样例输出
3 5
来源原创上传者
苗栋栋
思路:关键看最后一位,第m位是1还是0,若是1,第m-1位只能是0,有dp[m-2] 种情况。若是0,第m-1位可能是0 也可能是1,有dp[m-1] 种情况.终止条件为01串的长度为2时,有3种,01串的长度为3时,有5种
#include<stdio.h> int main(){ int n,m,i,dp[41];//数组长度为41 !!! scanf("%d",&n); dp[2]=3; dp[3]=5; for(i=4;i<=40;i++){ dp[i]=dp[i-1]+dp[i-2];//最后一位为 0 +和最后一位为 1(倒数第二位只有0一种情况) } while(n--){ scanf("%d",&m); printf("%d\n",dp[m]); } return 0; }
相关文章推荐
- Redis简介
- Windows Git安装指南
- [leetcode][dfs] Binary Tree Maximum Path Sum
- perl http 请求一些奇怪的问题
- 注销 弹出来的消息实现方法
- 软件测试重点
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- JAVA 对象引用,以及对象赋值
- 记录自己linux学习的开始
- 最小费用最大流
- HDU3555Bomb(记忆化搜索)
- 转 C#对话框-打开和保存对话框
- Ubuntu下升级Git以及获取ssh keys的代码
- 算法导论 第十四章:数据结构的扩张
- Java反射机制
- pyQt不同窗体间的值传递(二)——使用信号槽机制
- C++之重载函数
- [主席树]HDOJ2665 && POJ2104 && POJ2761
- chapter18test2
- Spring基础---Spring源码解析以及入门