解题思路:
#include<iostream>
using namespace std;
int dp[30];//dp数组表示到i阶梯的总的方案数
//则第i个可能有i-1上来,或者i-3上来
int main(){
int n;
scanf("%d",&n);
dp[0]=1,dp[1]=1,dp[2]=1;//初始状态
for(int i=3;i<=n;i++){
dp[i]=dp[i-1]+dp[i-3];
}
printf("%d\n",dp[n]);
return 0;
}
注意事项:
参考代码:
0.0分
0 人评分