2 2 3
12
题意:中文的。不解释。
思路:
这题可以直接递归,也可以DP,DP专题吗,用DP写。
第一层有1种,第二层有2种,第三层有3种;
状态转移方程:F(n)=F(n-1)+F(n-2);
代码:
#include<iostream> #include<stdlib.h> #include<string.h> #include<fstream> #include<algorithm> using namespace std; int N,M; int dp[42]; int DP() { dp[1]=0;dp[2]=1;dp[3]=2; for(int i=4;i<=M;i++) { dp[i]=dp[i-1]+dp[i-2]; } return dp[M]; } int main() { freopen("C:\\Users\\liuzhen\\Desktop\\11.txt","r",stdin); cin>>N; while(N--) { cin>>M; cout<<DP()<<endl; } freopen("con","r",stdin); system("pause"); return 0; }