zoukankan      html  css  js  c++  java
  • 【ACM】拦截导弹

    拦截导弹

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:3
     
    描述

    某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。

     
    输入
    第一行输入测试数据组数N(1<=N<=10)
    接下来一行输入这组测试数据共有多少个导弹m(1<=m<=20)
    接下来行输入导弹依次飞来的高度,所有高度值均是大于0的正整数。
    输出
    输出最多能拦截的导弹数目
    样例输入
    2
    8
    389 207 155 300 299 170 158 65
    3
    88 34 65
    样例输出
    6
    2

    思路:0-1背包问题

     
    #include <iostream>
    using namespace std;
    
    int p[25];
    int big = 0;
    
    void Cal(int *a, int n, int k){
    
        if (k==n)
        {
            int count = 0;
            int cur,z;
            for (z = 0 ; z < n; z++)
            {
                if (a[z]==1)
                {
                    cur = p[z];
                    count++;
                    break;
                }
            }
            for (int i = z+1 ; i < n ; i++)
            {
                if (a[i]==1 && p[i]<cur)
                {
                    count++;
                    cur = p[i];
                }
            }
            if (count >= big)
            {
                big = count;
            }
            return;
        }
        a[k] = 1;
        Cal(a,n,k+1);
        a[k] = 0;
        Cal(a,n,k+1);
    
    }
    
    int main(){
    
        int n;
        cin>>n;
        while (n--)
        {
            int m;
            big = 0;
            cin>>m;
            int *b = new int[m];
            for (int i = 0 ; i < m ; i++)
            {
                cin>>p[i];
            }
            Cal(b,m,0);
            cout<<big<<endl;
        }
    
        return 0;
    }        
  • 相关阅读:
    docker删除所有服务service,停止并删除所有容器container
    harbor
    yml文件
    linux 上安装portainer.io
    凤凰之谜 1/4 潜行者
    凤凰之谜 4/4 猎人
    凤凰之谜 3/4 德鲁伊 迷宫
    Dijkstra最短路径算法
    LeetCode 到底怎么刷?GitHub 上多位大厂程序员亲测的高效刷题方式
    How do I run a Python script from C#?
  • 原文地址:https://www.cnblogs.com/lyc94620/p/9289314.html
Copyright © 2011-2022 走看看