很直观的一个gauss题;

用的是以前用过的一个模板;

#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#define maxn 12
#define eps 0.00001
using namespace std; double matrix[][];
double ans[];
void exchange_col(int p1,int p2,int n)
{
double t;
int i;
for(int i=; i<=n; i++)
swap(matrix[p1][i],matrix[p2][i]);
} bool gauss(int n)
{
int i,j,k;
int p;
double r;
for(i=; i<n-; i++)
{
p=i;
for(j=i+; j<n; j++)
if(fabs(matrix[j][i])>fabs(matrix[p][i]))
p=j;
if(p!=i)
exchange_col(i,p,n);
if(matrix[i][i]==) return false;
for(j=i+; j<n; j++)
{
r=matrix[j][i]/matrix[i][i];
for(k=i; k<=n; k++)
matrix[j][k]-=r*matrix[i][k];
}
}
for(i=n-; i>=; i--)
{
ans[i]=matrix[i][n];
for(j=n-; j>i; j--)
ans[i]-=matrix[i][j]*ans[j];
if(fabs(matrix[i][i])<eps)return false;
ans[i]/=matrix[i][i];
}
return true;
} double map[][];
double fang[][]; int main()
{
int n;
scanf("%d",&n);
for(int i=;i<=n;i++)
{
for(int j=;j<n;j++)
{
scanf("%lf",&map[i][j]);
if(i>)
{
matrix[i-][j]=*(map[i][j]-map[i-][j]);
fang[i-][j]=map[i][j]*map[i][j]-map[i-][j]*map[i-][j];
}
}
}
for(int i=;i<n;i++)
{
double ret=;
for(int j=;j<n;j++)
ret+=fang[i][j];
matrix[i][n]=ret;
}
gauss(n);
for(int i=;i<n-;i++)
printf("%.3lf ",ans[i]);
printf("%.3lf",ans[n-]);
return ;
}

1013: [JSOI2008]球形空间产生器sphere的更多相关文章

  1. BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Judg ...

  2. 【BZOJ】1013: [JSOI2008]球形空间产生器sphere

    [BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个 ...

  3. bzoj 1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3584  Solved: 1863[Subm ...

  4. BZOJ 1013 [JSOI2008]球形空间产生器sphere

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3074  Solved: 1614[Subm ...

  5. 【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere

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

  6. 【BZOJ】1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    题目 传送门:QWQ 分析 高斯消元就是个大暴力.... 代码 #include <bits/stdc++.h> using namespace std; ; ; int n; doubl ...

  7. bzoj 1013: [JSOI2008]球形空间产生器sphere【高斯消元】

    n+1个坐标可以列出n个方程,以二维为例,设圆心为(x,y),给出三个点分别是(a1,b1),(a2,b2),(a3,b3) 因为圆上各点到圆心的距离相同,于是可以列出距离方程 \[ (a1-x)^2 ...

  8. 【bzoj1013】[JSOI2008]球形空间产生器sphere

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4530  Solved: 2364[Subm ...

  9. BZOJ1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4846  Solved: 2525[Subm ...

随机推荐

  1. JAXB - Annotations, Class Fields as Attributes: XmlAttribute

    Provided that XML lets you represent a data item as a single value, there is no cut-and-dried rule f ...

  2. C#3.0 集合

    实现IEnumerable<T>伴随一个迭代: public class MyGenCollection : IEnumerable<int> { int[] data = { ...

  3. android显示手机电量

    package com.basillee.asus.demo; import android.app.Notification; import android.content.BroadcastRec ...

  4. 第一次使用并配置Hibernate

    1. 环境配置 1.1 hiberante环境配置 hibernate可实现面向对象的数据存储.hibernate的官网:http://hibernate.org/ 官网上选择hibernate OR ...

  5. SQLSERVER连接池内部机制

    前言介绍: 当应用程序运行的时候,会有一个连接池的管理控件运行在应用程序的进程里,统一管理应用程序和SQLSERVER建立的所有连接, 并且维护这些连接一直处于活动状态.当有用户发出一个connect ...

  6. MyEclipse build path修改问题

  7. 经历:easyui的layout自适应高度布局

    在使用easyui的layout布局的时候,在某种情况下,我们会在后续的逻辑中修改一下layout的某个region的高度,那么该怎么做呢?  我就遇到了这样的情况,今天需求经理提出了一个需求:认证用 ...

  8. oc 通过webView调用js方法

    - (void)viewDidLoad { [super viewDidLoad]; //加载本地web页面 web = [[UIWebView alloc]init]; web.background ...

  9. table表格中加入<a>标签,使内容上下居中的方法。

    主要思路:定义好表格单元格的width和height,再加入<a>后,设置<a>的width=100%,height=100%填充整个单元格.那么此时设置上下左右居中样式就只需 ...

  10. Golang中解析json,构造json

    json解析是如今(网络)应用程序开发中最不可或缺的一环了.许多语言需要库支持才可以解析.构造json,但Golang凭借着原生库就可以很好地做到这一点. json的基本表现形式有两个:struct与 ...