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;

}

 

你可能感兴趣的:(OJ)