# [GESP样题 六级] 下楼梯
## 题目描述
顽皮的小明发现,下楼梯时每步可以走 $1$ 个台阶、$2$ 个台阶或 $3$ 个台阶。现在一共有 $N$ 个台阶,你能帮小明算算有多少种方案吗?
## 输入格式
输入一行,包含一个整数 $N$。
## 输出格式
输出一行一个整数表示答案。
## 样例 #1
### 样例输入 #1
```
4
```
### 样例输出 #1
```
7
```
## 样例 #2
### 样例输入 #2
```
10
```
### 样例输出 #2
```
274
```
## 提示
对全部的测试点,保证 $1 \leq N \leq 60$。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
long long dp[100];
dp[1]=1;
dp[2]=2;
dp[3]=4;
for(int i=4;i<=n;i++){
dp[i]=dp[i-1]+dp[i-2]+dp[i-3];
}
cout<<dp[n]<<endl;
return 0;
}
简单的dp问题,递推解决。