Description

有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。

Input

第一行是一个整数,n。接下来的n+1行,每行有n个实数,表示球面上一点的n维坐标。每一个实数精确到小数点后6位,且其绝对值都不超过20000。

Output

有且只有一行,依次给出球心的n维坐标(n个实数),两个实数之间用一个空格隔开。每个实数精确到小数点后3位。数据保证有解。你的答案必须和标准输出一模一样才能够得分。

Sample Input

2
0.0 0.0
-1.0 1.0
1.0 0.0

Sample Output

0.500 1.500

HINT

数据规模:

对于40%的数据,1<=n<=3

对于100%的数据,1<=n<=10

提示:给出两个定义:

1、 球心:到球面上任意一点距离都相等的点。

2、 距离:设两个n为空间上的点A, B的坐标为(a1, a2, …, an), (b1, b2, …, bn),则AB的距离定义为:dist = sqrt( (a1-b1)^2 + (a2-b2)^2 + … + (an-bn)^2 )

 
高斯消元
由(x1-x)^2+(y1-y)^2=k
 (x2-x)^2+(y2-y)^2=k
展开相减得一个2*(x2-x1)*x+2*(y2-y1)*y=x2^2-x1^2+y2^2-y1^2
就可以消元了
 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define eps 1e-6
using namespace std;
int n;
double f[],a[][],b[][];
double sqr(double x) {
return x*x;
} bool gauss(){
int now=,to;double t;
for(int i=;i<=n;i++){
for(to=now;to<=n;to++)
if(fabs(a[to][i])>eps) break;
if(to>n) continue;
if(to!=now) for(int j=;j<=n+;j++)
swap(a[to][j],a[now][j]);
t=a[now][i];
for(int j=;j<=n+;j++) a[now][j]/=t;
for(int j=;j<=n;j++) if(j!=now){
t=a[j][i];
for(int k=;k<=n+;k++)
a[j][k]-=t*a[now][k];
}
now++;
}
for(int i=now;i<=n;i++)
if(fabs(a[i][n+])>eps)return ;
return ;
} int main(){
scanf("%d",&n);
for(int i=;i<=n+;i++){
for(int j=;j<=n;j++)
scanf("%lf",&b[i][j]);
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
a[i][j]+=*(b[i+][j]-b[i][j]);
a[i][n+]+=sqr(b[i+][j])-sqr(b[i][j]);
}
gauss();
printf("%.3lf",a[][n+]);
for(int i=;i<=n;i++) printf(" %.3lf",a[i][n+]);
}

最新文章

  1. Android开发--LinearLayout的应用
  2. POJ1523 SPF
  3. drawer principle in Combinatorics
  4. github简单使用教程(转)
  5. Hibernate从入门到精通(三)Hibernate配置文件
  6. dede_addonarticle-普通文字表
  7. javascript社交平台分享-新浪微博、QQ微博、QQ好友、QQ空间、人人网
  8. VS2008远程调试
  9. CSS学习笔记:溢出文本省略(text-overflow)
  10. abstract class 与interface
  11. MySQL 各类数据文件介绍
  12. Web概述
  13. node+mongoose+vue
  14. Nice Garland CodeForces - 1108C (思维+暴力)
  15. Windows驱动开发VS2012 DDK/WDK的环境配置
  16. Lua数据类型
  17. ncnn框架
  18. TPO-21 C2 Which elective courses to take
  19. Windows下python 3.0版本django的安装、配置、与启动
  20. 华为S5300系列升级固件S5300SI-V100R006C00SPC800.cc

热门文章

  1. ConcurrentHashMap和Hashtable区别
  2. Commons IO - IOUtils
  3. C#中thrift 中THttpHandler 传输数据 慢 slow 解决办法
  4. Jsoup 的认识和简单使用
  5. STL vector+sort排序和multiset/multimap排序比较
  6. 分布式系统怎样体现了CAP
  7. NSURLSession的使用(1)
  8. abstract
  9. ArcSDE for oracle10g安装后post的时候出现错误
  10. 《JSON必知必会》