为什么深搜超时?
原题链接:452.上台阶2025-12-11 12:58:39
发布于:广东
我很疑惑为什么我最后两个数据点TLE:
#include<bits/stdc++.h>
using namespace std;
long long HowManyWaysDoIHave=0;
long long TheAmountOfStairs;
void dfs(long long howManyStepsIHaveWalked,bool oneOrTwo) {
if(howManyStepsIHaveWalked>TheAmountOfStairs) {
return;
}
if(howManyStepsIHaveWalked==TheAmountOfStairs) {
HowManyWaysDoIHave++;
return;
}
dfs(howManyStepsIHaveWalked+1,0);
dfs(howManyStepsIHaveWalked+2,0);
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>TheAmountOfStairs;
dfs(0,0);
dfs(0,1);
cout<<HowManyWaysDoIHave/2;
}





























全部评论 4
额。。。有没有亿种可能这道题是用递推做的?
2026-01-02 来自 浙江
0可以试试记忆化
2025-12-13 来自 广东
0这题是递推
2025-12-13 来自 福建
0AI吗
2025-12-12 来自 浙江
0不是Ai
2025-12-12 来自 广东
0这不是递推吗,为啥写深搜
2025-12-13 来自 浙江
0
好的2025-12-13 来自 广东
0
































有帮助,赞一个