题解 | #拦截导弹#

拦截导弹

https://www.nowcoder.com/practice/dad3aa23d74b4aaea0749042bba2358a

//dfs秒了
#include<iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include<vector>
using namespace std;

const int MAXN = 120;
const int INF = 1e6;
vector<int>height_list;
int max_count;
void dfs(int index, int max_height, int n_counts) {
    if (index == height_list.size()) {
        max_count = max(max_count, n_counts);
    } else {
        if (max_height >= height_list[index]) {
            dfs(index + 1, height_list[index], n_counts + 1);
        }
        dfs(index + 1, max_height, n_counts);
    }
}
int main() {
    max_count = 0;
    int K;
    scanf("%d", &K);
    for (int i = 0; i < K; i++) {
        int height;
        scanf("%d", &height);
        height_list.push_back(height);
    }
    dfs(0, INF, 0);
    printf("%d", max_count);


}

全部评论

相关推荐

11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务