题目名称 2378. [POJ 3700]导弹防御系统
输入输出 missile_defence.in/out
难度等级 ★★☆
时间限制 3000 ms (3 s)
内存限制 256 MiB
测试数据 1
题目来源 Gravatarsyzhaoss 于2016-12-22加入
开放分组 全部用户
提交状态
分类标签
字符串 KMP
分享题解
通过:2, 提交:7, 通过率:28.57%
Gravatar李星昊 100 0.000 s 0.00 MiB C++
Gravatarlihaoze 100 0.575 s 5.89 MiB C++
Gravatar李星昊 0 0.000 s 5.74 MiB C++
Gravatar李星昊 0 0.000 s 5.74 MiB C++
Gravatar 0 0.172 s 5.75 MiB C++
Gravatar 0 3.000 s 5.74 MiB C++
Gravatar 0 3.000 s 5.75 MiB C++
关于 导弹防御系统 的近10条评论(全部评论)
为啥有人要打表过题啊……
GravatarLfc_HeSn
2022-10-31 18:46 1楼

2378. [POJ 3700]导弹防御系统

★★☆   输入文件:missile_defence.in   输出文件:missile_defence.out   简单对比
时间限制:3 s   内存限制:256 MiB

【题目描述】

为了对抗附近恶意国家的威胁,R 国更新了他们的导弹防御系统。

一套防御系统的导弹拦截高度要么一直 严格单调 上升要么一直 严格单调 下降。

例如,一套系统先后拦截了高度为 3 和高度为 4 的两发导弹,那么接下来该系统就只能拦截高度大于 4 的导弹。

给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。

【输入格式】

输入包含多组测试用例。

对于每个测试用例,第一行包含整数 n,表示来袭导弹数量。

第二行包含 n 个不同的整数,表示每个导弹的高度。

当输入测试用例 n=0 时,表示输入终止,且该用例无需处理。

【输出格式】

对于每个测试用例,输出一个占据一行的整数,表示所需的防御系统数量。

【样例输入】

5
3 5 2 4 1
0 

【样例输出】

2

【样例说明】

对于给出样例,最少需要两套防御系统。

一套击落高度为 3,4 的导弹,另一套击落高度为 5,2,1 的导弹。

【数据规模与约定】

$1\leq n\leq 50$。