QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 25

#2740. 僵尸末日

Statistics

你的国家正面临僵尸危机。幸运的是,你受雇于法医动物学与僵尸新兴研究中心(FIZZES),你的工作仅仅是衡量问题的严重程度。

你将你的国家绘制成一个 $N \times M$ 的网格,每个单元格都标有非负整数。

你掌握了所有僵尸的确切位置,并且知道没有两个僵尸位于同一个位置。包含僵尸的单元格标记为 0。接下来,所有与标记为 0 的单元格相邻的未标记单元格(此处“相邻”指在任何边或角上接触;因此每个单元格最多与 8 个其他单元格相邻)被标记为 1。然后,所有与标记为 1 的单元格相邻的未标记单元格被标记为 2。此过程持续进行,直到所有单元格都被标记。这些数字表示你的办公室对僵尸扩散的关注程度。

下面展示了一个小例子:

2 2 1 1 1 2
2 1 1 0 1 2
2 1 0 1 1 2
2 1 1 1 2 2
2 2 2 2 2 3

你的老板给了你一个整数 $Q$,你必须确定网格中被标记为整数 $Q$ 的单元格数量。

输入格式

输入的第一行包含两个空格分隔的整数 $N$ 和 $M$ ($1 \le N \le 10^9; 1 \le M \le 10^9$),表示网格的大小。下一行包含整数 $K$ ($1 \le K \le 2000$),表示包含僵尸的单元格数量。接下来的 $K$ 行,每行包含两个空格分隔的整数 $r_i, c_i$,表示第 $i$ 个僵尸的行号和列号 ($1 \le r_i \le N; 1 \le c_i \le M$)。没有两个僵尸位于同一个单元格:即如果 $i \neq j$,则 $(r_i, c_i) \neq (r_j, c_j)$。最后一行包含整数 $Q$ ($0 \le Q \le N + M$)。

子任务

对于 25 分中的 5 分,满足 $N \le 1000$ 且 $M \le 1000$。

对于另外 5 分,满足 $K \le 50$。

对于另外 5 分,满足 $N \le 1000$。

输出格式

输出网格中被标记为整数 $Q$ 的单元格数量。

样例

输入 1

5 6
2
3 3
2 4
2

输出 1

15

说明 1

样例输入即为上述例子,其中包含 15 个 2。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.