NYOJ_252_01串

dp[i]:表示i长度有多少个符合的串

1、i位置为0,则dp[i-1]都符合

2、i位置为1,则i-1位置只能填0,则dp[i-2]都符合

所以状态转移方程:dp[i]=dp[i-1]+dp[i-2];

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
int main()
{

 int i,n,t,dp[45]={0,0,3,5};
 for(i=4;i<41;++i)
 {
     dp[i]=dp[i-1]+dp[i-2];
 }
 cin>>t;
 while(t--)
 {
     scanf("%d",&n);
     printf("%d\n",dp[n]);
 }
 return 0;
}

 

posted @ 2013-04-30 14:29  小仪在努力~  阅读(264)  评论(0编辑  收藏  举报