传统题 1000ms 256MiB

发现蒂位

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

题目描述

33DAI 最近在玩一款名叫“昨天原粥”的游戏。

这个游戏的地图可以看作是一个 nnmm 列的二维数组。第 ii 行第 jj 列的位置用 (i,j)(i,j) 表示。

现在地图上有 kk 名干员,第 ii 名干员的位置在 (xi,yi)(x_i,y_i)(保证不会有多名干员在同一个位置)。你现在可以挑选一个没有放干员的位置施加魔法,所有与这个位置的曼哈顿距离不超过 22 的干员都会被强化。

请你算算最多能强化多少干员。

什么是曼哈顿距离呢?
比如你在方格纸上走,只能横着走或者竖着走,不能斜着走。从一个格子到另一个格子,最少要走多少步,这就是它们的曼哈顿距离啦。
就像从 (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 分):没有特殊限制。

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

【三三信奥】2025 练习赛 1

未参加
状态
已结束
规则
IOI
题目
7
开始于
2025-7-9 9:00
结束于
2025-7-12 19:00
持续时间
3 小时
主持人
参赛人数
65