QOJ.ac

QOJ

Limite de temps : 1.0 s Limite de mémoire : 512 MB Points totaux : 100 Hackable ✓

#9455. 迷路

Statistiques

BaoBao 在一个无限的二维平面上迷路了!BaoBao 需要从起点 $(a_x, a_y)$ 出发,找到前往位于 $(b_x, b_y)$ 的家的路径。但这对他来说并非易事,因为平面上散布着 $n$ 个圆形障碍物。第 $i$ 个障碍物的圆心位于 $(x_i, y_i)$,半径为 $r_i$。BaoBao 可以自由地在平面上移动,但他的路线不能与任何障碍物相交(但可以相切)。

我们称 BaoBao 成功到达了他的家,当且仅当 BaoBao 的最终位置与 $(b_x, b_y)$ 之间的距离不超过 $R$,且连接 BaoBao 最终位置与 $(b_x, b_y)$ 的线段不与任何障碍物相交(但可以相切)。

BaoBao 急于回家,所以你的任务是帮助 BaoBao 找到一条从 $(a_x, a_y)$ 出发并成功到达他家的最短路径。

输入格式

输入包含多组测试数据。第一行包含一个整数 $T$(约 60),表示测试数据的组数。对于每组测试数据:

第一行包含一个整数 $n$ ($0 \le n \le 2$),表示平面上的障碍物数量。

第二行包含两个整数 $a_x$ 和 $a_y$ ($-10^4 \le a_x, a_y \le 10^4$),表示 BaoBao 的起点。

第三行包含三个整数 $b_x, b_y$ ($-10^4 \le b_x, b_y \le 10^4$) 和 $R$ ($0 \le R \le 10^4$),表示 BaoBao 家的位置以及描述中提到的距离限制。

接下来的 $n$ 行,每行包含两个整数 $x_i, y_i$ ($-10^4 \le x_i, y_i \le 10^4$) 和 $r_i$ ($0 < r_i \le 10^4$),表示障碍物的圆心和半径。

保证 $(a_x, a_y)$ 和 $(b_x, b_y)$ 均在障碍物外部或边界上,且障碍物之间互不包含、不相交且不相切。

输出格式

对于每组测试数据,输出一行,表示 BaoBao 到达家所需的最短距离。如果你的答案的绝对误差或相对误差小于 $10^{-6}$,则被视为正确。

样例

输入 1

2
1
10 0
0 0 2
6 0 1
0
0 10
0 0 5

输出 1

8.209191463668802
5.000000000000000

说明

上图展示了第一个样例测试数据,其中 $|AD| = 3.8729833462$ $|\widehat{DE}| = 0.4201283344$ $|EF| = 3.9160797831$ 因此答案为 $|AD| + |\widehat{DE}| + |EF| = 8.2091914637$。

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.