台风监测系统2.0版
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
台风“桦加沙”即将来袭,这个时候D老师的台风监测系统已经研发到了2.0beta版本了。
这个版本里,把D老师的系统部署在地图上某个点,系统会根据台风“桦加沙”的风力强度和影响半径,实时测算出系统周边合理范围内建筑受到台风影响的程度,以便于通知大家做好防御准备。
D老师的台风监测系统2.0beta版本中有个的地图(即 行 列的二维数组,其中第 行第 列的位置用 表示。地图上标注了 栋建筑,第 栋建筑的位置在 ,(题目保证每栋建筑是不可能重叠的)。
由于系统还处在beta版本,这个系统还不能部署在监测台风中心点和建筑重叠时候的情况,也即是只能部署在不和建筑重叠的坐标位置,系统的监测范围是,当前系统中心点位置和所有与这个位置的曼哈顿距离不超过 的建筑。
由于只有一台测试样机,现在D老师想把系统部署在某个合法的位置,以使得系统能同时监测到的建筑物最多,现在请你算算使用这台测试样机在这张图上,最多能一次性监测到几栋建筑物。
什么是曼哈顿距离呢?
比如你在方格纸上走,只能横着走或者竖着走,不能斜着走。从一个格子到另一个格子,最少要走多少步,这就是它们的曼哈顿距离啦。
就像从 到 ,先算横向差多少步( 和 的差,不管正负,只算数字),再算纵向差多少步( 和 的差,同样只算数字),把这两个数加起来,就是最少要走的步数啦。
在 C++ 中,abs(x)
可以得到 的绝对值,即不管正负的数字部分。因此可以使用abs(x-a)+abs(y-b)
来计算 与 之间的曼哈顿距离。
输入格式
第一行为三个整数 。
接下来 行,第 行为第 栋建筑的坐标位置 ,保证每个位置只出现一次。
输出格式
一个整数,即最多能监测到的建筑物栋数。
4 5 3
1 1
4 2
2 5
2
样例 1 解释
三栋建筑物的位置即下面的 o
的位置,显然在 #
的位置()放置监测系统可以覆盖( 与 栋建筑,注意 距离 的曼哈顿距离为 ,无法被覆盖)
o....
.#..o
.....
.o...
数据规模与约定
对于 的数据,,,,,且没有重复的建筑物坐标。
- 子任务 1(30 分):保证 。
- 子任务 2(30 分):保证 。
- 子任务 3(40 分):没有特殊限制。
可以思考一下数据范围大了怎么做。