「ACOI2020」音速
题目背景
![T1](https://s2.ax1x.com/2020/01/12/loSQJI.png)
防卫省的 乌间 惟臣(Tadaomi Karasuma)老师来到了椚丘中學给予了三年 E 班的同学们重大的任务:在一年内暗杀掉一个超生物(被 茅野 カエデ 取名为杀老师)。于是同学们开始努力地训练。但是很快的,杀老师展现了它的本领,可以以 20 马赫的超高速持久飞行,导致同学们根本碰不到杀老师。于是他们准备找乌间购买一个传送器。
题目描述
现在同学们在后山埋伏。同学们对后山足够熟悉,并且后山足够宽广,可以看做一个无限大的平面直角坐标系,而同学们在 $(0,0)$ 这个位置。这时候杀老师在 $(x,y)$ 这个位置捡到了 岡島 大河 所放置的小黄书认真地读了起来。同学们现在可以以自己为圆心,$r$ 为半径画一个圆然后把传送器抛出去,落在圆上一点 $S$,传送器可以在落点处作一条与刚才的圆相切的直线 $PQ$,现在这条直线就是我们的传送器了。
传送器的作用是:把同学们传送到他们所站的点关于 $PQ$ 的对称点。而且他们必须要**传送后移动**到杀老师的位置才能攻击它。现在,乌间看了他们的计划之后十分感叹,但是他有两个问题想问同学:
- 他们用了传送器之后,至少需要移动多远?
- 在保证移动距离最短的方案下,$PQ$ 与 $x$ 轴夹角的 $\tan$ 值为多少?我们认为夹角在 $[0,180]$ ° 。
输入输出格式
输入格式
第一行两个实数 $x,y$,表示杀老师和小黄书的位置,自动抹去无意义的 $0$;
第二行一个实数 $r$,意义见题目描述。
输出格式
第一行请输出他们用了传送器之后,至少需要移动的距离,**保留六位小数**。
第二行请在保证移动距离最短的方案下输出 $PQ$ 与 $x$ 轴夹角的 $\tan$ 值,**保留二位小数**。
特殊地,当 $\tan$ 值无意义的时候,输出 ```Error```;否则,如果有多个角度都可以满足条件,输出 $\tan$ 值最小的一个,可以把 ```Error``` 视作无穷大。
**注意,$\tan$ 值为负数的时候,将这个 $\tan$ 值视作无穷大。夹角指的是那个锐角。**
输入输出样例
输入样例 #1
11 0
5
输出样例 #1
1.000000
Error
输入样例 #2
6 8
4
输出样例 #2
2.000000
0.75
说明
#### 数据范围
**本题采用捆绑测试**。
- Subtask 1(10 points):$x,y,r$ 满足 $x^2+y^2=r^2$。
- Subtask 2(20 points):$x,y$ 中至少有一个为 $0$。
- Subtask 3(70 points):数据无特殊限制。
对于 $100\%$ 的数据, $0 \leq |x|,|y|,r \leq 10^{10}$。
---
#### 提示
1. **本题含有 SPJ**,如果第一个问题的答案与标准答案差的绝对值不大于 $10^{-6}$ 时就能获得该测试点的分数的 $50\%$。当第一个问题的答案正确时:
- 若第二个问题的答案不为 ```Error``` 时,当输出答案与标准答案差的绝对值不大于 $10^{-2}$ 时能得到该测试点的所有分数;
- 当第二个问题的答案为 ```Error``` 时,只有输出 ```Error``` 才能得到该测试点的所有分数。
**因为 SPJ 敏感,如果只能回答第一个问题,也请在第二行随意输出一些值,不要输出 `Error`**。
2. $\tan$ 值表示在一个 **直角三角形** 中,一个角相对的直角边与其相邻的直角边的比值,比如 $\tan\ 45°= 1$。特殊地,$90°$ 的 $\tan$ 值**无意义**。
3. 和圆只有一个公共交点的直线叫做圆的**切线**,连接切点与圆心的半径**垂直**于切线。