misc#P25013. 携药下凡

    ID: 213 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 3 上传者: 标签>计算几何平面几何浙江机电职业技术大学校赛

携药下凡

题目描述

兔爷幼时因家庭遗弃在月宫结界外独自求生,习得偷食筑巢技能,后因结识玉兔工厂子弟进入月饼厂成为制作精英。

人间瘟疫期间,兔爷下凡骑虎治病,为人们传播仙药。他站在坐标系原点 (0,0)(0,0),并且面朝点 (X,Y)(X,Y) 的方向。兔爷手里的仙药会被他丢出去,仙药沿着从原点指向 (X,Y)(X,Y) 的直线方向飞行,兔爷可以选择每次丢出的飞行距离。若仙药最终落点在人类的碗中,则认为这次投掷成功,人们能得到仙药。

请你计算:为了让仙药落入人类的碗中,兔爷最少需要丢出多远的距离。若无论如何都无法让仙药落入人类的碗中,则输出 -1

输入格式

第一行包含一个整数 TT1T1001 \le T \le 100),表示测试数据组数。

接下来每组数据包含三行:

  • 第一行两个整数 X,YX, Y109X,Y109-10^9 \le X, Y\le 10^9),表示兔爷面朝的方向坐标(保证 (X,Y)(0,0)(X,Y)\neq(0,0))。
  • 第二行两个整数 x,yx, y109x,y109-10^9 \le x, y \le 10^9),表示碗的坐标。
  • 第三行一个整数 rr1r1091 \le r \le 10^9),表示碗的半径。

输出格式

对每组数据输出一个实数,表示兔爷最少需要丢出多远的距离。若无论如何都无法让仙药落入人类的碗中,则输出 -1

答案与标准答案的相对或绝对误差不超过 10610^{-6}

4
1 0
3 0
1
1 0
-3 0
1
1 0
-3 0
5
5 11
2 2
1
2.0000000000
-1
0.0000000000
2.5312976963

解释 #1

第四组数据的参考图: