原题链接:http://101.200.52.143/problem.php?pid=1538
算法标签:dp
分析过程:
一、确定方程状态:dp[i]表示的是爬到第i阶台阶的方案数
二、建立状态转移方程:dp[i] = dp[i-2] + dp[i-1]
三、考虑初始状态:dp[1]=1, dp[2]=2
代码:
#include<iostream>
using namespace std;
int main(){
int n;
int dp[101];
cin >> n;
dp[1] = 1, dp[2] = 2;
for( int i=3; i<=n; i++ ){
dp[i] = dp[i-2] + dp[i-1];
}
cout << dp[n];
return 0;
}