AlgoMooc
← 返回题库

K0037. 魔法通信技术

中等通过率 46% · 提交 180 · 通过 83
字符串排序模拟前缀和

小慕正在负责维护一个大型通信网络系统。这个系统中存在一些被标记为 「故障区」 的编号段,处于这些段内的设备编号将无法正常接入网络。如果某个设备的编号落在任一故障区范围内,该设备就会被判定为不可用。 现在,小慕手头有若干个故障区编号范围,以及一批待检测的设备编号。请你帮他判断哪些设备可以正常工作,并将这些设备的编号按照输出;如果所有设备都处于故障区内,则输出 `"empty"`。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行包含两个整数 `m` 和 `n`,表示**禁区的数量**和**信标编号的数量**(`1 <= m, n <= 1000`)。 接下来的 `m` 行,每行包含两个字符串 `start` 和 `end`(`start <= end`),表示一个**禁区编号范围**,所有以 `[start, end]` 之间的前缀开头的信标都无法使用。 - `start` 和 `end` 具有相同的长度,长度范围为 `[1,6]`。 然后的 `n` 行,每行包含一个字符串 `area`,表示一个**魔法信标编号**。 - 信标编号的长度范围为 `[6,15]`。

输出描述

按照**字典序降序**输出所有可用的魔法信标编号,每行一个。如果所有信标都无法使用,则输出 `"empty"`。

示例

示例 1

输入

2 4
755 769
398 399
3970001
756000000000002
600032
755100

输出

600032
3970001

说明:- 信标 `755100` 和 `756000000000002` 的前缀落在 `[755,769]` 之间,无法使用。 - 信标 `3970001` 和 `600032` 不在任何禁区范围,可以正常使用,按字典序降序排列后输出。

示例 2

输入

1 2
4 4
4000000
495555

输出

empty

说明:- 信标 `4000000` 和 `495555` 的前缀都属于禁区 `[4,4]`,无信标可用,输出 `"empty"`。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「魔法通信技术」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。