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

贪心4--拦截导弹

时间:2017-07-08 10:07:23      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:main   std   img   ==   题目   cin   class   .com   span   

贪心4--拦截导弹

一、心得

 

二、题目和分析

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。

求系统数。

三、代码和结果

 1 #include <iostream>
 2 using namespace std;
 3 int main(){
 4     int n; 
 5     int a[100];
 6     cin>>n;
 7     for(int i=1;i<=n;i++){
 8         cin>>a[i];
 9     }
10     
11     //在一堆人中找符合条件的 
12     
13     int sys=0;
14     int high[100]={0};
15     
16     for(int i=1;i<=n;i++){
17         //去找系统
18         int p=0;
19         //在系统中找最小 
20         //找最小这个需要仔细斟酌一下 
21         //在一队数中找最小的怎么做 
22         for(int j=1;j<=sys;j++){
23             if(high[j]>=a[i]){
24                 //在一队数中找最小的怎么做 
25                 if(p==0){
26                     p=j;
27                     high[j]=a[i];
28                 } 
29                 else{
30                     if(high[p]<high[j]){
31                         p=j;
32                         high[j]=a[i];
33                     }
34                 }
35             }
36         } 
37         if(p==0){
38             sys++;
39             high[sys]=a[i];
40         }     
41     }
42     cout<<sys<<endl;
43      
44     return 0;
45 } 

技术分享

 

贪心4--拦截导弹

标签:main   std   img   ==   题目   cin   class   .com   span   

原文地址:http://www.cnblogs.com/Renyi-Fan/p/7135606.html

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