Problem I:超级楼梯(HDU 2040)
2018-03-27 23:34
429 查看
Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。Output
对于每个测试实例,请输出不同走法的数量Sample Input
22
3
Sample Output
12————————————————————————————————————————————思路:经典线性dp题
设:dp[i]为走到第i阶的步数则:
状态转移方程:dp[i]=dp[i-1]+dp[i-2];
边界条件:dp[1]=1,dp[2]=1;
注意从第三阶开始走
Source Program
#include<iostream> #include<cstring> #define N 41 using namespace std; int dp ; int main() { int n,m; int i,j,k; cin>>n; while(n--) { cin>>m; memset(dp,0,sizeof(dp));//初始化 /*边界条件*/ dp[1]=1; dp[2]=1; for(i=3;i<=m;i++) dp[i]=dp[i-1]+dp[i-2]; cout<<dp[m]<<endl; } return 0; }
相关文章推荐
- DP Problem I:超级楼梯(HDU 2040)
- HDU-2040 超级楼梯 (简单递推)
- HDU 2041 超级楼梯
- HDU 超级楼梯
- HDU 2041 超级楼梯(递推)
- HDU-#2041 超级楼梯(Fibonacci数列)
- HDU 2041--超级楼梯(递推求解)
- HDU - 2041 C - 超级楼梯B 和HDU - 2044 一只小蜜蜂(递归)
- [hdu-2041] 超级楼梯
- HDU 2041 - 超级楼梯
- HDU 2041 超级楼梯
- HDU(2041) (超级楼梯)
- hdu 2041 超级楼梯.20140728.cpp
- HDU 2041 超级楼梯
- HDU 2041 超级楼梯
- hdu 2014 超级楼梯
- HDU 2041 超级楼梯
- hdu 2041 超级楼梯
- HDU - 2041 超级楼梯 (斐波那契dp)
- 超级楼梯 hdu