求助站外题
  • 板块灌水区
  • 楼主BinSky
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/24 11:30
  • 上次更新2024/7/24 12:47:36
查看原帖
求助站外题
857349
BinSky楼主2024/7/24 11:30

题目描述

Anaik大陆上一共有 kk 个国家,为了争夺国土,各国之间常年战争不断。身为大陆的守护女神,Kiana决定重新为各个国家划分领土以终结战事。

具体来说,Anaik大陆可以看作是一个 nn 行 mm列的网格,其中某些格子并不宜居,所以这些格子不被分给任何一个国家。每个国家都有一个首都,其中第 ii 个国家的首都位于网格的第 xix_i 行第 yiy_i 列,Kiana认为如果一个宜居的格子到第 ii 个国家的首都的最短距离严格小于到其它国家首都的最短距离,则这个格子应被划分为第 ii 个国家的国土。在计算距离时,每个格子被视为和它上下左右四个格子连通且距离为 11,不宜居的格子不和任何格子连通。

Kiana发现按照上述方式,可能存在一些宜居的格子不能被分给任何一个国家作为国土,这种格子就称为国境线。现在Kiana想知道,大陆上总共有多少个格子属于国境线。由于她不会算,所以希望由你来告诉她。

特别的,如果某个格子不和任何一个国家的首都连通,那么Kiana认为它既不是任何一个国家的国土也不属于国境线。

输入格式

第一行包含三个正整数nn、mm 和 kk ,分别表示大陆上网格的行数、列数和国家数。

接下来 kk 行,第 ii 行包含两个正整数 xix_i 和 yiy_i,表示第 ii 个国首都位于第 xix_i 行第 yiy_i 列。

接下来一行包含一个非负整数 qq ,表示大陆上有个格子不宜居。

接下来 qq 行,每行包含两个正整数 xx 和 yy,表示第 xx 行第 yy 列是一个不宜居的格子。

数据保证所有国家的首都互不相同,所有输入的不宜居格子互不相同,且没有一个国家的首都所在格子是不宜居的。

输出格式

输出一行一个正整数,表示总共有多少个格子属于国境线。

【样例输入 #1】

3 3 2
1 1
3 3
2
1 2
3 1

【样例输出 #1】

1

【样例解释#1】 Anaik大陆的示意图如下:

R2BVIg.png

【样例输入#2】

28 28 16
24 17
8 10
11 26
13 5
19 7
15 19
23 1
23 9
10 28
1 6
10 6
5 13
6 2
27 12
17 26
12 17
8
25 25
9 28
28 1
13 25
18 6
25 22
16 10
6 20

【样例输出#2】 92

【大样例】

boundary.in

boundary.out: 142081

【数据范围】 对于 的数据,保证 n,m,k,q≤3000n,m,k,q ≤ 3000

其它数据规模与约定如下表:

R2B8dU.png

2024/7/24 11:30
加载中...