题解 | #跳台阶扩展问题#

跳台阶扩展问题

https://www.nowcoder.com/practice/953b74ca5c4d44bb91f39ac4ddea0fee

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <stack>
#include <map>
#include <queue>
#include <cmath>
using namespace std;

int arr[23];

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int i = 1; i < 23; i++) {
            arr[i] = 0;
            if (i == 1) {
                arr[i] = 1;
            } else if (i == 2) {
                arr[i] = 2;
            } 
            else {
                for(int j = 1; j < i; j++){
                    arr[i] += arr[j]; //s[i] = s[i - 1] + s[i - 2] +....+ s[0]
                }
                arr[i] += 1;
            }
        }
        printf("%d\n", arr[n]);
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务