题解 | N阶楼梯上楼问题

N阶楼梯上楼问题

https://www.nowcoder.com/practice/c978e3375b404d598f1808e4f89ac551

#include <iostream>
using namespace std;
int n,res;

void dfs(int u){
    
    if(n==0){
        res++;
        return;
    }
    if(n<0)return;
    for(int i=1;i<=2;i++){
        if(n>=i){
            n-=i;
            dfs(u+1);
            n+=i;
        }
    }
}

int main() {
    
    while (cin >> n) { 
        res = 0;
        dfs(0);
        cout<<res<<endl;
    }
}
// 64 位输出请用 printf("%lld")

【算法思路】:深搜dfs

全部评论

相关推荐

秋招投简历提醒助手:因为实习生都跑去秋招了。不过现在实习是不是太晚了点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务