求助,这题怎么做
  • 板块灌水区
  • 楼主RisefromtheDP
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/12/3 14:57
  • 上次更新2023/10/27 00:38:15
查看原帖
求助,这题怎么做
773998
RisefromtheDP楼主2022/12/3 14:57

国境线

【题目背景】

Anaik 大陆上一共有 k 个国家,为了争夺国土,各国之间常年战争不断。身为大陆 的守护女神,Kiana 决定重新为各个国家划分领土以终结战事。 具体来说,Anaik 大陆可以看作是一个 n 行 m 列的网格,其中某些格子并不宜居, 所以这些格子不被分给任何一个国家。每个国家都有一个首都,其中第 i 个国家的首都 位于网格的第 x i 行第 y i 列,Kiana 认为如果一个宜居的格子到第 i 个国家的首都的最 短距离严格小于到其它国家首都的最短距离,则这个格子应被划分为第 i 个国家的国 土。在计算距离时,每个格子被视为和它上下左右四个格子连通且距离为 1,不宜居的 格子不和任何格子连通。 Kiana 发现按照上述方式,可能存在一些宜居的格子不能被分给任何一个国家作为 国土,这种格子就称为国境线。现在 Kiana 想知道,大陆上总共有多少个格子属于国 境线。由于她不会算,所以希望由你来告诉她。 特别的,如果某个格子不和任何一个国家的首都连通,那么 Kiana 认为它既不是 任何一个国家的国土也不属于国境线。

【输入格式】

第一行包含三个正整数 n、m 和 k,分别表示大陆上网格的行数、列数和国家数。 接下来 k 行,第 i 行包含两个正整数 x ii 和 y ii ,表示第 i 个国家首都位于第 x ii 行第y ii 列。 接下来一行包含一个非负整数 qq,表示大陆上有 qq 个格子不宜居。 接下来 qq 行,每行包含两个正整数x xyy,表示第xx行第 yy 列是一个不宜居的格子。 数据保证所有国家的首都互不相同,所有输入的不宜居格子互不相同,且没有一个 国家的首都所在格子是不宜居的。

【输出格式】

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

【样例 1 输入】

3 3 2

1 1

3 3

2

1 2

3 1

【样例 1 输出】

1

2022/12/3 14:57
加载中...