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

最少拦截系统

时间:2017-02-13 16:49:53      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:lap   预处理   out   image   .com   art   rac   start   无法   

技术分享
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,a[30005],ans,i,j,k,m;
 5     while(scanf("%d",&n)!=EOF)
 6     {
 7         ans=1;
 8         for(i=0;i<n;i++)
 9             a[i]=0;
10         //预处理,开始时必定现有一套系统,所以ans=1,清空a[]上一轮的数据
11         scanf("%d",&a[0]);
12         //第一套系统的拦截高度当然是第一个导弹的高度啦
13         for(i=1;i<n;i++)
14         {
15             //第二枚及之后的导弹在这里读入处理
16             scanf("%d",&k);
17             m=0;//这是一个标记变量,用来记录现在的这个导弹能否被现有系统拦截
18             for(j=0;j<ans;j++)
19             {
20                 if(k<a[j])//导弹被现有系统拦截成功
21                 {
22                     a[j]=k;//系统高度下降
23                     m=1;//标记显示为被拦截
24                     break;//结束这个循环,因为下面的导弹系统不需要被用到
25 
26                 }
27             }
28             if(m==0)//导弹无法被现有系统拦截
29             {
30                 a[ans]=k;
31                 ans++;
32                 //添加一套新的系统;
33             }
34         }
35         printf("%d\n",ans);
36     }
37 }
View Code

 

最少拦截系统

标签:lap   预处理   out   image   .com   art   rac   start   无法   

原文地址:http://www.cnblogs.com/NWUACM/p/6394446.html

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