题目描述:
蒜头君要爬楼梯。楼梯一共有 10层台阶。因为腿长的限制,每次最多能上 4 层台阶。但是第 5,7 层楼梯坏掉了不能踩。求上楼梯的方案数。
解题报告:
1:做的时候以为最开始是站在1层的,WA了。比赛过后改为0层开始就过了。
2:可以加个记忆化优化。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ans;
void dfs(ll x){
if(x == 5 || x == 7 || x > 10)return ;
if(x == 10){
++ans;
return ;
}
for(ll i=1; i<=4; ++i)dfs(x+i);
}
int main(){
dfs(0);
printf("%lld\n", ans);
return 0;
}