HDU 2041 超级楼梯 简单DP/斐波那契
级台阶,每次只能走一级或两级,问有几种走法?
设 为 级台阶的走法数,则:
且有
代码如下:
#include<iostream>
#include<cstdio>
//define WINE
#define MAXN 45
using namespace std;
typedef long long ll;
int T,m;
ll dp[MAXN]={0,0,1,2};
int main(){
#ifdef WINE
freopen("data.in","r",stdin);
#endif
for(int i=4;i<MAXN;i++)
dp[i]=dp[i-1]+dp[i-2];
scanf("%d",&T);
while(T--){
scanf("%d",&m);
printf("%lld\n",dp[m]);
}
return 0;
}