zoukankan      html  css  js  c++  java
  • (动态规划)导弹防御

    题目描述

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

    输入

    最多20个整数,分别表示导弹依次飞来的高度(雷达给出高度数据是不大于30000的正整数)

    输出

    整数M。表示:这套系统最多能拦截 M 枚导弹.

    样例输入

    300 250 275 252 200 138 245

    样例输出

    5
     
     
     
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #define max(a,b) (a>b?a:b)
    #define maxn 1100
     
     
    intmain()
    {
        inta[maxn], b[maxn], i, j, k=0, sum=0;
     
     
        while(scanf("%d", &a[k++])!=EOF);
            k--;
     
            memset(b, 0, sizeof(b));
     
         b[0]=1;
         for(i=1; i<k; i++)
         {
            for(j=0; j<i; j++)
            {
                if(a[j]>=a[i])
                {
                    b[i] = max(b[i], b[j]+1);
                    sum = max(b[i], sum);
                }
            }
         }
          
          printf("%d
    ", sum);
        return0;
    }
     
    勿忘初心
  • 相关阅读:
    VBA trouble
    深入浅出Automation Anywhere
    sqlserver--install/uninstall
    linux遇到的问题
    Java并发编程:线程池的使用(转载)
    java——线程
    关于项目管理工具 maven
    从xml文件取值
    jquery
    小结-9.20
  • 原文地址:https://www.cnblogs.com/YY56/p/4731250.html
Copyright © 2011-2022 走看看