#P6039. 「ACOI2020」音速

「ACOI2020」音速

题目背景

T1

防卫省的 乌间 惟臣(Tadaomi Karasuma)老师来到了椚丘中學给予了三年 E 班的同学们重大的任务:在一年内暗杀掉一个超生物(被 茅野 カエデ 取名为杀老师)。于是同学们开始努力地训练。但是很快的,杀老师展现了它的本领,可以以 20 马赫的超高速持久飞行,导致同学们根本碰不到杀老师。于是他们准备找乌间购买一个传送器。

题目描述

现在同学们在后山埋伏。同学们对后山足够熟悉,并且后山足够宽广,可以看做一个无限大的平面直角坐标系,而同学们在 (0,0)(0,0) 这个位置。这时候杀老师在 (x,y)(x,y) 这个位置捡到了 岡島 大河 所放置的小黄书认真地读了起来。同学们现在可以以自己为圆心,rr 为半径画一个圆然后把传送器抛出去,落在圆上一点 SS,传送器可以在落点处作一条与刚才的圆相切的直线 PQPQ,现在这条直线就是我们的传送器了。

传送器的作用是:把同学们传送到他们所站的点关于 PQPQ 的对称点。而且他们必须要传送后移动到杀老师的位置才能攻击它。现在,乌间看了他们的计划之后十分感叹,但是他有两个问题想问同学:

  • 他们用了传送器之后,至少需要移动多远?

  • 在保证移动距离最短的方案下,PQPQxx 轴夹角的 tan\tan 值为多少?我们认为夹角在 [0,180][0,180] ° 。

输入格式

第一行两个实数 x,yx,y,表示杀老师和小黄书的位置,自动抹去无意义的 00
第二行一个实数 rr,意义见题目描述。

输出格式

第一行请输出他们用了传送器之后,至少需要移动的距离,保留六位小数

第二行请在保证移动距离最短的方案下输出 PQPQxx 轴夹角的 tan\tan 值,保留二位小数

特殊地,当 tan\tan 值无意义的时候,输出 Error;否则,如果有多个角度都可以满足条件,输出 tan\tan 值最小的一个,可以把 Error 视作无穷大。

注意,tan\tan 值为负数的时候,将这个 tan\tan 值视作无穷大。夹角指的是那个锐角。

11 0
5
1.000000
Error
6 8
4
2.000000
0.75

提示

数据范围

本题采用捆绑测试

  • Subtask 1(10 points):x,y,rx,y,r 满足 x2+y2=r2x^2+y^2=r^2
  • Subtask 2(20 points):x,yx,y 中至少有一个为 00
  • Subtask 3(70 points):数据无特殊限制。

对于 100%100\% 的数据, 0x,y,r10100 \leq |x|,|y|,r \leq 10^{10}


提示

  1. 本题含有 SPJ,如果第一个问题的答案与标准答案差的绝对值不大于 10610^{-6} 时就能获得该测试点的分数的 50%50\%。当第一个问题的答案正确时:
  • 若第二个问题的答案不为 Error 时,当输出答案与标准答案差的绝对值不大于 10210^{-2} 时能得到该测试点的所有分数;
  • 当第二个问题的答案为 Error 时,只有输出 Error 才能得到该测试点的所有分数。
    因为 SPJ 敏感,如果只能回答第一个问题,也请在第二行随意输出一些值,不要输出 Error
  1. tan\tan 值表示在一个 直角三角形 中,一个角相对的直角边与其相邻的直角边的比值,比如 tan 45°=1\tan\ 45°= 1。特殊地,90°90°tan\tan无意义

  2. 和圆只有一个公共交点的直线叫做圆的切线,连接切点与圆心的半径垂直于切线。