码迷,mamicode.com
首页 > 其他好文 > 详细

hdoj 1257最少拦截系统

时间:2015-07-25 09:29:10      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:



/*最少拦截系统
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 25347    Accepted Submission(s): 9959
Problem Description
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:
虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.
某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,
因此有可能不能拦截所有的导弹.
怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.
所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统.
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\n",k+1);
 }
 return 0;
}
 



 
</span>


版权声明:本文为博主原创文章,未经博主允许不得转载。

hdoj 1257最少拦截系统

标签:

原文地址:http://blog.csdn.net/qjt19950610/article/details/47053043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!