#abc022d. [abc022_d]Big Bang
[abc022_d]Big Bang
问题文
自从宇宙诞生于大爆炸以来,我们知道宇宙一直在膨胀。
天文学家高桥决定测量宇宙膨胀的速度。
高桥观测了同一个个星星的位置两次。星星的位置记录为平面坐标上的点。换句话说,每一次观测的结果都是由平面上个点组成的点集合。
比较两次观测的结果,发现对第一次观测的点集合依次执行以下三个操作会得到第二次观测的点集合:
- 向同一个方向平移相同的距离。
- 以原点为中心旋转相同的角度。
- 以原点为中心放大倍()。也就是说将点移动到点。
如果我们知道的值,就可以求得膨胀速度。
高桥着手寻找的时候,不小心丢失了哪个点与哪个星星对应的数据。
因此,高桥决定寻求你作为一位优秀的程序员的帮助。
给定第一次和第二次观测的结果,请计算。
输入
输入通过标准输入给出,格式如下:
: :
- 第一行为高桥观测到的星星数量。
- 第二行到第行中,第行给出了第一次观测到的第个星星的位置坐标,由两个整数以空格分隔。
- 第行到第行中,第行给出了第二次观测到的第个星星的位置坐标,由两个整数以空格分隔。
- 第一次和第二次观测中不会有同一个点对应多个星星。
- 第一次观测到的第个星星和第二次观测到的第个星星不一定是同一个。
部分点
该问题的部分得分设定如下:
- 对于满足的数据集,如果正确解决,将给予50分。
- 对于满足的数据集,如果正确解决,将再给予50分。总分为100分。
输出
输出的值,以一行输出。输出的绝对误差或相对误差至少有一方小于即可。输出末尾包含换行符。
输入例子1
4
0 0
0 1
1 0
1 1
0 2
2 0
-2 0
0 -2
输出例子1
2.8284271247
按照以下操作进行,第一次观测的点集合就会移动到第二次观测的点集合:
- 沿轴向左平行移动,沿轴向下平行移动。
- 以原点为中心,顺时针旋转。
- 以原点为中心倍放大。
因此。
输入例子2
6
3 4
1 3
4 3
2 2
0 1
2 0
5 5
-1 2
-1 -3
2 1
2 6
4 -3
输出例子2
2.2360679775