拦截导弹问题(贪心)

该博客探讨了如何使用贪心算法解决导弹拦截问题。国家开发的导弹拦截系统存在一个限制,即后续发射的导弹高度不能超过前一枚。面对雷达探测到的来袭导弹,需要确定拦截所有导弹所需的最少系统数量。题目描述了输入和输出格式,并提供了一个样例案例,要求在时间限制和内存限制内求解所需系统数。
摘要由CSDN通过智能技术生成

描述

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。

输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。

格式

输入格式

n颗依次飞来的高度(1≤n≤1000)。

输出格式

要拦截所有导弹最小配备的系统数k。

样例

输入样例

389 207 155 300 299 170 158 65

输出样例

2

限制

时间限制: 1000 ms

内存限制: 65536 KB

#include <iostream>
#include <string.h>
using namespace std;

int main()
{
    int n=0, tmp, x, k=1, tmp2, a[1005], b[1005];//a[]用来存储导弹高度,b[]用来存储系统高度
    bool flag = true;                            //flag用于判断是否需要增加一套系统
    memset(a, 0, sizeof(a));                     //初始化
    memset(b, 0, sizeof(b));
	while(cin >> tm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值