#C. 台风监测系统2.0版

    传统题 1000ms 256MiB

台风监测系统2.0版

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

台风“桦加沙”即将来袭,这个时候D老师的台风监测系统已经研发到了2.0beta版本了。

这个版本里,把D老师的系统部署在地图上某个点,系统会根据台风“桦加沙”的风力强度和影响半径,实时测算出系统周边合理范围内建筑受到台风影响的程度,以便于通知大家做好防御准备。

D老师的台风监测系统2.0beta版本中有个n×mn \times m的地图(即 nnmm 列的二维数组,其中第 ii 行第 jj 列的位置用 (i,j)(i,j) 表示。地图上标注了 kk 栋建筑,第 ii 栋建筑的位置在 (xi,yi)(x_i,y_i),(题目保证每栋建筑是不可能重叠的)。

由于系统还处在beta版本,这个系统还不能部署在监测台风中心点和建筑重叠时候的情况,也即是只能部署在不和建筑重叠的坐标位置,系统的监测范围是,当前系统中心点位置和所有与这个位置的曼哈顿距离不超过 22 的建筑。

由于只有一台测试样机,现在D老师想把系统部署在某个合法的位置,以使得系统能同时监测到的建筑物最多,现在请你算算使用这台测试样机在这张图上,最多能一次性监测到几栋建筑物。

什么是曼哈顿距离呢?
比如你在方格纸上走,只能横着走或者竖着走,不能斜着走。从一个格子到另一个格子,最少要走多少步,这就是它们的曼哈顿距离啦。
就像从 (x,y)(x,y)(a,b)(a,b),先算横向差多少步(xxaa 的差,不管正负,只算数字),再算纵向差多少步(yybb 的差,同样只算数字),把这两个数加起来,就是最少要走的步数啦。
在 C++ 中,abs(x) 可以得到 xx 的绝对值,即不管正负的数字部分。因此可以使用 abs(x-a)+abs(y-b) 来计算 (x,y)(x,y)(a,b)(a,b) 之间的曼哈顿距离。

输入格式

第一行为三个整数 n,m,kn,m,k

接下来 kk 行,第 ii 行为第 ii 栋建筑的坐标位置 (xi,yi)(x_i,y_i),保证每个位置只出现一次。

输出格式

一个整数,即最多能监测到的建筑物栋数。

4 5 3
1 1
4 2
2 5
2

样例 1 解释

三栋建筑物的位置即下面的 o 的位置,显然在 # 的位置((2,2)(2,2))放置监测系统可以覆盖((1,1)(1,1)(4,2)(4,2)栋建筑,注意 (2,5)(2,5) 距离 (2,2)(2,2) 的曼哈顿距离为 33,无法被覆盖)

o....
.#..o
.....
.o...

数据规模与约定

对于 100%100\% 的数据,1n,m,k1001 \le n,m,k\le 100k<n×mk\lt n\times m1xin1\le x_i\le n1yim1\le y_i\le m,且没有重复的建筑物坐标。

  • 子任务 1(30 分):保证 k=1k=1
  • 子任务 2(30 分):保证 k=n×m1k=n\times m-1
  • 子任务 3(40 分):没有特殊限制。

可以思考一下数据范围大了怎么做。

抗击“桦加沙”台风假期赛

未参加
状态
已结束
规则
IOI
题目
7
开始于
2025-9-23 13:00
结束于
2025-10-5 5:00
持续时间
280 小时
主持人
参赛人数
59