QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 1024 MB Total points: 100 Unverified

#11209. 绝地求生

Statistics

《绝地求生》(PUBG,又称“吃鸡”)是近几个月来最流行的生存射击游戏。玩家被投放到一个广阔的开放区域,必须互相战斗直到最后一人存活。具体来说,战场上有一个不断缩小的圆形“安全区”,身处该区域外的玩家会持续受到伤害,这迫使他们相互对抗并制造交火机会。

有些玩家技术特别差,因此他们成为了 WG 公司的用户。但最近,WG 公司经常收到用户投诉,称他们经常死在安全区外。经过仔细研究,WG 公司发现他们的用户太笨,不知道如何跑进安全区。因此,他们决定协助用户完成这一动作。

在地图上建立坐标系后,玩家在时刻 $0$ 位于 $(x_0, y_0)$ 点,移动速度为 $v$。此时,有一个半径为 $r_1$、圆心为 $(x_1, y_1)$ 的圆 $C_1$ 表示当前的安全区。安全区外的玩家每单位时间会受到 $d_1$ 的持续伤害。安全区将在时刻 $t_1$ 开始缩小,并在时刻 $t_2$ 变为一个更小的圆 $C_2$,其圆心为 $(x_2, y_2)$,半径为 $r_2$。此后,安全区外的玩家每单位时间会受到 $d_2$ 的伤害。

$C_2$ 严格包含在 $C_1$ 内部,圆的半径变化和圆心的移动均以恒定速度进行。然而,安全区外的伤害会在时刻 $t_2$ 从 $d_1$ 瞬间变为 $d_2$。

你的任务是计算玩家如果采取最优移动策略,从时刻 $0$ 到他/她到达最终安全区 $C_2$ 所受到的最小伤害。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。 每个测试用例包含三行。第一行包含三个整数 $x_0, y_0$ 和 $v$,表示玩家的初始位置和移动速度。第二行包含五个整数 $x_1, y_1, r_1, d_1$ 和 $t_1$,第三行包含五个整数 $x_2, y_2, r_2, d_2$ 和 $t_2$,含义如上所述。

输出格式

对于每个测试用例,输出一行 “Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是最小伤害。 如果 $y$ 与正确答案的绝对误差或相对误差在 $10^{-4}$ 以内,则视为正确。

数据范围

  • $1 \le T \le 100$
  • $0 \le x_0 \le 80000$
  • $0 \le y_0 \le 80000$
  • $50 \le v \le 400$
  • $C_1$ 上的每一点 $(x, y)$ 均满足 $0 \le x \le 80000$ 且 $0 \le y \le 80000$
  • $C_2$ 严格包含在 $C_1$ 内部
  • $1 \le d_1 \le d_2 \le 11$
  • $0 \le t_1 \le t_2 \le 80000$

样例

输入 1

3
700 100 50
600 600 600 5 0
800 400 200 10 2
700 0 80
600 600 600 5 0
800 400 200 10 2
100 100 150
600 600 600 5 1
800 800 200 10 4

输出 1

Case #1: 4.2537599506
Case #2: 16.5388203202
Case #3: 28.4702942694

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.