QOJ.ac

QOJ

时间限制: 3 s 内存限制: 512 MB 总分: 100

#3356. 蜂巢流行病

统计

在过去的几个月里,可怕的蜜蜂流感肆虐。为了避免灭绝,Inner Dreaded Illnessia 的蜜蜂在蜂巢中建立了一套安全区系统。遗憾的是,它们无法在所有地方都建立安全区(它们还需要地方放置蜂蜜),因此当细菌出现在蜂巢中时,总是会陷入混乱。你需要帮助蜜蜂,并计算出如果它们进行最优组织,有多少蜜蜂能够获救。

蜂巢是一个六边形网格(见插图),蜜蜂每秒钟可以从当前所在的区域移动到任何相邻的区域,或者选择留在原地。与此同时,细菌每两秒钟会从每一个含有细菌的单元格扩散到其所有六个相邻的单元格。

安全区的位置保持不变。如果一只蜜蜂在细菌到达之前到达了一个空闲的安全区,它就可以通过待在那里直到危险过去来抵御感染。由于这些设施的运作方式,每个安全区在同一时间只能容纳一只蜜蜂。

输入格式

输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例包含四行。第一行包含三个整数 $N, S$ 和 $B$,分别表示蜜蜂的数量、安全区的数量和细菌的数量。接下来三行描述了它们各自的初始位置。第一行描述 $N$ 只蜜蜂的位置,第二行描述 $S$ 个安全区的位置,第三行描述 $B$ 个细菌的位置。每一行的格式均为 $x_1 y_1 x_2 y_2 \dots x_k y_k$,其中 $k$ 代表位置的数量($N, S$ 或 $B$)。

输出格式

对于每个测试用例,输出一行,包含一个整数,表示在疫情中能够幸存的蜜蜂的最大数量。

数据范围

  • $0 < T \le 150$
  • $0 < N, S \le 50$
  • $0 < B \le 1500$
  • $-100 \le x_i, y_i \le 100$
  • 蜜蜂在细菌第一次扩散前最多可以移动两次(之后每扩散一次前,蜜蜂还可以再移动两次,以此类推)。
  • 虽然每个安全区在同一时间只能容纳一只蜜蜂,但蜜蜂待在同一个区域(即使是安全区)是没有问题的。
  • 蜜蜂最早可以在第一次移动后进入安全区。也就是说,它们不能“以防万一”地躲藏。
  • 蜂巢非常大。就本题而言,假设蜜蜂无法逃出蜂巢(除非感到疲劳并不得不休息,直到被细菌追上)。

样例

输入 1

1
2 2 1
-1 2 1 -2
-3 1 1 1
-1 -1

输出 1

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.