#H1076. B. ‘Cirno’ ThomasX 和他的海克斯科技枪

B. ‘Cirno’ ThomasX 和他的海克斯科技枪

题目背景

“书记,这次的人怎么处理?”

“老规矩吧,当你的训练素材,或者你自己看着办。这几天四环里的事比较忙,外围的事儿呢暂时以平稳发展为主。最近这城里是不太平啊……”

“明白,我会管理好外围事务的。”

“唉,辛苦你了。副市长刚给我通了电话,南边的事情比预计的要麻烦,他可能还会晚点回来,这段时间你多想办法跟他们那边的班子沟通沟通。”

“好的,那我先去训练了。”

“嗯。”

ThomasX,或者说琪露诺,在感应门的滑动声中消失在了办公室里。

题目描述

托马斯如愿以偿变成了妖精——只可惜是冰之妖精圈儿 9(i.e. ⑨),而且不幸的是他似乎也没有符卡可以使用。好在,2077 年的科技足够发达,他很快就造出了一把 GLP-800 原型机。

你问他哪来的生产力?这当然得益于……他已经成为了里泰尔德一把手——至少市长恢复前是这样——的秘书。兼任外勤部部长的他很快就拿到了大量的资源倾斜,与此同时,他也想出了一个特别的训练方式来锻炼他的枪械熟练度。

他在行政楼地下室圈出了一个半径为 rr 米的圆形房间(因为在二次元,这个房间是二维的也很合理),将中心点设为原点,然后把一个嫌疑人——或者就是犯人,反正已经“任凭”他们处置了——绑在坐标为 (x,y)(x,y) 的椅子上,单位默认为米。然后,他自己站在 (p,q)(p,q) 的位置,随后朝着任意一个角度发射冰霜弹(因为是原型机所以只有一颗)。如果命中任何人类,这颗子弹就会停止,爆炸并造成成吨的伤害;否则,自带的反射系统可以让它第一次撞上墙壁时自动反射(入射角等于反射角),但第二次就会停止机能。假设冰霜弹的动力系统足够强大以至于不会因为上述两种情况之外的情况停止,现在托马斯想知道,是否有一种发射冰霜弹的角度,使得它能够经过一次反射并击中犯人而不击中他自己。当然,这个问题有另一个人更想知道——也就是你,那个被绑在椅子上的犯人。

数据格式与约定

输入

输入仅包含一行五个整数 r,x,y,p,qr,x,y,p,q,分别表示房间半径、犯人位置和托马斯位置。(0<r1040 < r \le 10^4,保证 (x,y)(x,y)(p,q)(p,q) 不重合且均在圆内。)

输出

如果不存在可行的发射角,输出 1-1

否则,输出一行一个小数 ans(0ans<2π)ans(0 \le ans < 2\pi ),表示一个可行的射击角(从 xx 轴正半轴开始向逆时针方向以弧度计)。当 ans±0.02radans \pm 0.02 \mathrm{rad} 的范围内存在一个角度符合题意时,答案将被判定为正确。

样例

10 1 2 3 4
1.00735
2 1 1 -1 1
0.785399

后记

新来的嫌疑人被副手拽着,摁到了圆形地下室的椅子上。她的粉白色长发散乱地披下来,看起来之前的经历并不友善。

“这个位置挺好的,谢谢。”

托马斯谢过他的副手,从工作台上转身,望向他的下一个牺牲者。

“还有什么想说的吗?或许我可以帮忙。”

那个女人抬起头。

“你有什么想说的吗?”

——那是一张托马斯无论如何也想不到的脸。