zoukankan      html  css  js  c++  java
  • hdoj 1257最少拦截系统

    

    /*最少拦截系统
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 25347    Accepted Submission(s): 9959
    Problem Description
    某国为了防御敌国的导弹突击,发展出一种导弹拦截系统.可是这样的导弹拦截系统有一个缺陷:
    尽管它的第一发炮弹可以到达随意的高度,可是以后每一发炮弹都不能超过前一发的高度.
    某天,雷达捕捉到敌国的导弹来袭.因为该系统还在试用阶段,所以仅仅有一套系统,
    因此有可能不能拦截全部的导弹.
    怎么办呢?多搞几套系统呗!你说说倒蛮easy,成本呢?成本是个大问题啊.
    所以俺就到这里来求救了,请帮助计算一下最少须要多少套拦截系统.
    Input
    输入若干组数据.每组数据包含:导弹总个数(正整数),导弹依此飞来的高度
    (雷达给出的高度数据是不大于30000的正整数,用空格分隔)

    Output

    相应每组数据输出拦截全部导弹最少要配备多少套这样的导弹拦截系统。


    Sample Input
    8 389 207 155 300 299 170 158 65
    Sample Output
    2*/

    <span style="font-size:18px;">#include<stdio.h>
    #include<string.h>
    int a[1000008],b[1000008];
    int main()
    {
     int n,i,k,j;
     while(scanf("%d",&n)==1)
     {
      k=0;
      scanf("%d",&a[0]);
      b[k]=a[0];
      for(i=1;i<n;i++)
      {
       scanf("%d",&a[i]);
       for(j=0;j<=k;j++)
        if(b[j]>a[i])
        {
         b[j]=a[i];
         break;
        }
       if(j>k)
       {
        b[++k]=a[i];
       }
      }
      printf("%d
    ",k+1);
     }
     return 0;
    }
     
    
    
    
     
    </span>


  • 相关阅读:
    图基础模板
    POJ 2528 Mayor's posters(线段树+离散化)
    POJ 3468 A Simple Problem with Integers(线段树)
    poj 2251 Dungeon Master
    nyoj 540 奇怪的排序
    hdoj 1253 胜利大逃亡
    hdoj 2612 Find a way【bfs+队列】
    nyoj 915 +-字符串
    hdoj 1242 Rescue
    nyoj 1022 最少步数【优先队列+广搜】
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7116823.html
Copyright © 2011-2022 走看看