标签:
第一部分:题目
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=252
ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。
注:01串的长度为2时,有3种:00,01,10。
2 2 3
3 5
第二部分 :代码
/* 有时递归超时可以试一试循环。 具体这题为什么递归超时,不清楚。 */ #include<iostream> using namespace std; int n; int main() { int t; cin>>t; int dp[1000]; dp[1]=2; dp[2]=3; while(t--) { cin>>n; if(n>2) { //最后一个字符只能是0或者1.为1时说明倒数第二个必定是0. //也就写成了n-1长度时的串+0,n-2长度时的串+01. for(int i=3;i<=n;i++) { dp[i]=dp[i-1]+dp[i-2]; } } cout<<dp[n]<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/xiangguoguo/p/5459048.html