QOJ.ac

QOJ

時間限制: 6 s 記憶體限制: 1024 MB 總分: 25

#5901. 僵尸粉碎

统计

你正在玩“僵尸粉碎机”:游戏的目标是在僵尸从墓地中冒出来时,用你可靠的僵尸粉碎机将它们粉碎。墓地被表示为一个平面的二维网格。每个僵尸会在网格上的某个 $(X, Y)$ 坐标处冒出,在原地停留 1000 毫秒 (ms),然后消失回墓地中。同一时间,一个墓地周围最多只能有一个僵尸。

你可以在 100 毫秒内移动到当前位置周围 8 个相邻单元格中的任意一个;也就是说,你可以向北、东、南、西、西北、东北、西南和东南方向移动。即使某个单元格当前有僵尸,你也可以穿过或站在该单元格上。一旦你到达僵尸所在的单元格,就可以立即粉碎它,但一旦粉碎了一个僵尸,你的僵尸粉碎机需要 750 毫秒的冷却时间,之后才能粉碎下一个僵尸。在冷却期间,你可以自由移动。例如,在 $(0, 0)$ 处粉碎一个僵尸后:

  • 到达并粉碎 $(1, 1)$ 处的僵尸需要 750 毫秒;或者
  • 到达并粉碎 $(20, 20)$ 处的僵尸需要 2000 毫秒。

游戏开始时(时间 $t=0$),你位于 $(0, 0)$ 单元格。在一局游戏结束后,你想知道如果你采取最优策略,最多可以粉碎多少个僵尸。

输入格式

第一行包含一个整数 $T$,表示测试用例的数量。接下来是 $T$ 个测试用例,每个测试用例的第一行包含一个整数 $Z$,表示该关卡中僵尸的数量。

接下来的 $Z$ 行,每行包含 3 个空格分隔的整数,表示给定僵尸出现和消失的位置及时间。第 $i$ 行包含整数 $X_i, Y_i$ 和 $M_i$,其中:

  • $X_i$ 是僵尸 $i$ 出现的单元格的 X 坐标。
  • $Y_i$ 是僵尸 $i$ 出现的单元格的 Y 坐标。
  • $M_i$ 是僵尸 $i$ 出现的时间(以毫秒为单位,从游戏开始算起)。僵尸可以被粉碎的时间区间是闭区间:如果你在 $[M_i, M_i + 1000]$ 范围内的任何时间到达该单元格,且僵尸粉碎机处于就绪状态,你就可以粉碎该单元格中的僵尸。

输出格式

对于每个测试用例,输出一行 "Case #c: d",其中 $c$ 是用例编号(从 1 开始),$d$ 是该关卡中你能粉碎的僵尸的最大数量。

数据范围

内存限制:1GB。

时间限制:6 秒。

$1 \le T \le 100$。

$-1000 \le X_i, Y_i \le 1000$。

$0 \le M_i \le 100\,000\,000 = 10^8$。

两个僵尸永远不会在同一时间出现在同一位置。换句话说,如果一个僵尸在时间 $t$ 出现在 $(x, y)$,那么任何其他出现在 $(x, y)$ 的僵尸必须在 $(t - 1001)$ 或之前,或者在 $(t + 1001)$ 或之后出现。

子任务 1

$1 \le Z \le 8$。

子任务 2

$1 \le Z \le 100$。

样例

样例输入 1

3
4
1 0 0
-1 0 0
10 10 1000
10 -10 1000
3
1 1 0
2 2 0
3 3 0
5
10 10 1000
-10 10 1000
10 -10 1000
-10 -10 1000
20 20 2000

样例输出 1

Case #1: 3
Case #2: 2
Case #3: 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.