Bitaro 将要参加一场特技飞行比赛。在这场比赛中,他将会驾驶一架飞机。这架飞机将会保持一个确定的海拔高度,并从上空经过检查点。
我们不妨假定这架飞机飞过的区域是一个平面直角坐标系。其中有
在比赛的过程中,他的飞机必须恰好经过每个检查点一次。具体地,他必须以以下方式飞行:
首先,Bitaro 选择一个检查点作为起点,并且从这个检查点开始飞行。
重复以下过程
次:
Bitaro 在所有还没有被选择过的检查点中选择一个检查点作为下一个目标,然后从当前检查点直线飞行到这个检查点。当飞机到达最后一个检查点时,此次飞行结束。
在第
显然,他的飞行路线是一条折线。在飞行的过程中,他的飞机最多会更改
因此,Bitaro 希望最大化他的折线中最小角(除去起点和终点)的角度。
给定检查点的坐标,请您寻找一个经过检查点的排列顺序使得折线中最小角最大。
输入格式
第一行两个整数
接下来
输出格式
输出包含
限制与约定
对于所有的数据,满足
。 。 。 。
库
在这道题中,你可以调用一个库,它包含计算三个点确定的角的角度的函数。这个库在压缩包中的
这个函数计算 的角度。它返回一个实数,保证误差足够小。
注意确保参数的顺序正确。- 关于点
,参数 是 的 坐标,参数 是 的 坐标。 - 关于点
,参数 是 的 坐标,参数 是 的 坐标。 - 关于点
,参数 是 的 坐标,参数 是 的 坐标。 - 如果
或 的坐标相等,那么将会得到不可预料的结果。
- 关于点
在你的程序中,你可以使用该库中的
不过评分器同样也使用库中的
样例一
input
7 90 3 1 2 5 0 2 -1 6 -3 1 -1 -4 4 -2
output
5 3 1 7 6 4 2
限制与约定
对于每个输出文件,您的分数将以以下方式计算。
如果您的输出是错误的,您的分数为
如果您的输出是正确的,则令
若
,您的分数为 。若
,您的分数为 。
其中函数
您此题的分数为您在
对于每组输入数据,
子任务编号 | 输入文件名 | 分数 | ||
---|---|---|---|---|