zoukankan      html  css  js  c++  java
  • 贪心4--拦截导弹

    贪心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 } 

  • 相关阅读:
    c#使用SoundPlayer播放wav格式音频
    c#NAudio 录音功能实现
    c#异步方法调用
    c# 读取文件目录下的信息
    angular笔记_1
    js获取form元素,不使用id
    事物回滚机制
    ckplayer跨域调用
    帝国移动pc站文章
    页面切换导航样式也随之改变
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7135606.html
Copyright © 2011-2022 走看看