Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output
对于每个测试实例,请输出不同走法的数量
Sample Input
2 2 3
Sample Output
1 2简单题意:如上面所说的。解题思路行成过程:简单的dp,实在是有点水。当然,这也是最最经典的动态规划题目。AC代码:#include <iostream> #include<cstdio> using namespace std; int main() { int n,i,j,m,d[41]; cin>>n; for(j=0;j<n;j++) { cin>>m; d[1] = 1; d[2] = 1; for (i = 3; i <= m; ++i) d[i] = d[i - 1] + d[i - 2]; cout<<d[m]<<endl; } return 0; }