QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 256 MB 總分: 100

#8869. 前往月球

统计

Alice 和 Bob 在他们豪宅外的沙地上玩游戏。地上画了一个代表月亮的圆,他们每个人都选了一个地方站着(在月亮内部、边缘或外部)。游戏的目标是其中一名玩家以最快的速度跑到另一名玩家那里,同时在跑步过程中触碰到月亮。

给定月亮、Alice 和 Bob 的位置,求出从一名玩家出发,触碰(或穿过)月亮的边缘或内部,最后到达另一名玩家位置的最短路径长度。

输入格式

第一行包含一个整数 $T$,表示测试用例的数量。接下来有 $T$ 行,每行包含 7 个空格分隔的整数 $x_A, y_A, x_B, y_B, x_C, y_C, r$,分别表示 Alice 的坐标 $A = (x_A, y_A)$,Bob 的坐标 $B = (x_B, y_B)$,圆心 $C = (x_C, y_C)$ 以及半径 $r$。

数据范围

  • $1 \le T \le 10^3$
  • $-10^3 \le x_A, y_A, x_B, y_B, x_C, y_C \le 10^3$
  • $0 \le r \le 10^3$

输出格式

对于每个测试用例,输出一个十进制数,表示从 $A$ 到 $B$ 且至少触碰圆心为 $C$、半径为 $r$ 的圆内部或边缘上一点的最短路径长度。如果与标准答案的相对误差或绝对误差在 $10^{-6}$ 以内,则该解被视为正确。

样例

输入 1

2
0 0 2 0 -1 2 1
5 0 3 0 2 0 2

输出 1

3.9451754612261913
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.