4387: GESP C++六级样题_3下楼梯

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

样例输入 复制

4

样例输出 复制

7

提示

#include <iostream>
using namespace std;
long long downstair_record[61];
long long downstair(int n) {
    if (n == 0)
    return 1;
    if (downstair_record[n] > 0)
        return downstair_record[n];
    long long res = 0;
    if (n >= 1)
    res += downstair(n - 1);
    if (n >= 2)
        res += downstair(n - 2);
    if (n >= 3)
        res += downstair(n - 3);
    downstair_record[n] = res;
    return res;
}
int main() {
    for (int i = 0; i <= 60; i++)
        downstair_record[i] = -1;
    int n = 0;
    cin >> n;
    cout << downstair(n) << endl;
    return 0;
}