SP278 BICYCLE - Bicycle

题目描述

彼得喜欢骑自行车上学。但是在人行道上骑车是被禁止的,而骑在公路上又很危险。因此,彼得只走专门的自行车道。幸运的是,彼得的家和学校附近都有这样的自行车道。城市中仅有两条自行车道,它们都是圆形的,并且可以在交叉点互通。彼得知道哪里上路以及在哪里下车以到达学校。他想知道:「从家到学校骑行的最短路径距离是多少?」

输入格式

首先输入一个整数 $t$,表示测试用例的数量($t \leq 100$),接下来提供 $t$ 组测试数据。 每组测试数据前两行描述两条自行车道: - 第一行:三个整数 $x1\ y1\ r1$,分别表示第一个圆的中心坐标 ($x1, y1$) 和半径 $r1$。 - 第二行:三个整数 $x2\ y2\ r2$,分别表示第二个圆的中心坐标 ($x2, y2$) 和半径 $r2$。 其中,-200 ≤ $x1, x2, y1, y2$ ≤ 200,0 ≤ $r1, r2$ ≤ 200。 接下来的两行是彼得家和学校的坐标: - 第三行:实数 $px1, py1$,表示家的坐标。 - 第四行:实数 $px2, py2$,表示学校的坐标。 可以假设这些坐标非常精准地位于圆上(精度为 $10^{-8}$)。两个点有可能在同一个圆上。

输出格式

对于每组测试数据,输出彼得从家到学校的最短骑行距离。答案需要精确到小数点后四位。如果无法通过自行车道到达学校,则输出 -1。 **本翻译由 AI 自动生成**