简单题意
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法
解题思路形成过程
感觉做过很多类似的题,就是变形的斐波那契数列,对于每层楼梯,可能是上一个状态走了两层到达的,也可能是走了一层上来的。
AC代码
#include<iostream>
#include<stdio.h>#include<fstream>
using namespace std;
int main(){
ifstream cin("in.txt");
freopen("in.txt","r",stdin);
int dp[45];
dp[1]=1;
dp[2]=1;
for(int i=3;i<=40;i++){
dp[i]=dp[i-1]+dp[i-2];
}
int n,m;
cin>>n;
while(n--){
cin>>m;
cout<<dp[m]<<endl;
}
return 0;
}