题面
现有39级台阶
一次只能迈出1、2步,并要求总步数为偶数
求一共有多少种走法
dfs
#include<bits/stdc++.h>
using namespace std;
const int maxn = 39;
int deta[2]={1,2};
int num=0;
void dfs (int floor,int step){
if(floor == maxn ){
if(step%2 == 0){
num++;
}
return ;
}
if(floor>maxn){
return;
}
for(int i=0;i<2;i++){
int dx = floor + deta[i];
dfs(dx,step+1);
}
}
int main()
{
dfs(0,0);
cout << num;
return 0;
}
递推
bfs
洛谷相似题
注
- 用dfs搜索不失为一种万金油方法,数据规模为2^39~10e12
- 掌握递推思想更重要
- 答案51167078
- 斐波那契问题很重要,dp思想
来源:CSDN
作者:GOD_Dian
链接:https://blog.csdn.net/qq_39685968/article/details/104488540