题目1:跳台阶
一个楼梯共有 n 级台阶,每次可以走一级或者两级,问从第 0
级台阶走到第 n 级台阶一共有多少种方案。
输入格式
共一行,包含一个整数 n。
输出格式
共一行,包含一个整数,表示方案数。
数据范围
1 ≤ n ≤ 15 1 \le n \le 15 1≤n≤15
解题思路
1.递归
input:5
由于一次只能走一级或两级台阶,因此5级台阶的走法分为:走3级台阶再走一次(2级)、4级台阶再走一次(1级)。即5级台阶的走法等于3级台阶走法和4级台阶走法之和。以此类推,可以画出dfs树:

叶子结点只存在两种情况:
1:只能走1步 → \rightarrow → 1种情况
2:一次走2步or走两个1步 → \rightarrow → 2种情况
代码实现
#include <iostream>
using namespace std;
int dfs(int x)
{
if (x == 1)return 1;
if (x == 2

最低0.47元/天 解锁文章
159

被折叠的 条评论
为什么被折叠?



