检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#题面
#题目描述
有一个球形空间产生器能够在 维空间中产生一个坚硬的球体。现在,你被困在了这个 维球体中,你只知道球面上 个点的坐标,你需要以最快的速度确定这个 维球体的球心坐标,以便于摧毁这个球形空间产生器。
#输入格式
第一行是一个整数 。接下来的 行,每行有 个实数,表示球面上一点的 维坐标。每一个实数精确到小数点后 位,且其绝对值都不超过 。
#输出格式
有且只有一行,依次给出球心的 维坐标( 个实数),两个实数之间用一个空格隔开。每个实数精确到小数点后 位。数据保证有解。你的答案必须和标准输出一模一样才能够得分。
#输入输出样例
样例输入 #1
2
0.0 0.0
-1.0 1.0
1.0 0.0
样例输出 #1
0.500 1.500
#数据范围与约定
对于 的数据,。
#提示
给出两个定义:
- 球心:到球面上任意一点距离都相等的点。
- 距离:设两个 n 维空间上的点 的坐标为 ,则 之间的距离定义为:。
#思路
设球的半径为 ,球心坐标为 。那么根据球体的性质,显然有:
那么展开来写可以得到一个方程组的形式:
但这个方程组是由 个 元二次方程构成的,不是线性方程组。本着「出题人绝对不会多给 1 Byte 有用数据」的原则,我们可以察觉到 中的异样之处。通过将相邻两个方程作差, 得到的结果是:
可以转化成增广矩阵的形式:
对该矩阵进行高斯消元即可。
#代码
1 |
|