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; }