1013: [JSOI2008]球形空间产生器sphere
很直观的一个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的更多相关文章
- BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Judg ...
- 【BZOJ】1013: [JSOI2008]球形空间产生器sphere
[BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个 ...
- bzoj 1013 [JSOI2008]球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3584 Solved: 1863[Subm ...
- BZOJ 1013 [JSOI2008]球形空间产生器sphere
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3074 Solved: 1614[Subm ...
- 【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁 ...
- 【BZOJ】1013 [JSOI2008]球形空间产生器sphere(高斯消元)
题目 传送门:QWQ 分析 高斯消元就是个大暴力.... 代码 #include <bits/stdc++.h> using namespace std; ; ; int n; doubl ...
- bzoj 1013: [JSOI2008]球形空间产生器sphere【高斯消元】
n+1个坐标可以列出n个方程,以二维为例,设圆心为(x,y),给出三个点分别是(a1,b1),(a2,b2),(a3,b3) 因为圆上各点到圆心的距离相同,于是可以列出距离方程 \[ (a1-x)^2 ...
- 【bzoj1013】[JSOI2008]球形空间产生器sphere
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 4530 Solved: 2364[Subm ...
- BZOJ1013 [JSOI2008]球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 4846 Solved: 2525[Subm ...
随机推荐
- CentOS下安装福昕PDF软件
官方下载地址:http://www.foxitsoftware.cn/downloads/ tar -jxvf foxreader.tar.bz2问题:下载官方包以后解压,双击不能打开,也没有任何提示 ...
- symonfy 项目根目录下没有 bin/console 文件的解决方法
“Could not open input file: bin/console” Error comes when try to Run the Symfony Application 在采纳的答案中 ...
- mysql 导入导出sql文件
使用mysqldump导出sql文件 目前清楚的mysqldump语法是: mysqldump -h[hostname] -u[username] -p [databasename] > [sq ...
- Ubuntu 修改时间
输入"date",显示的是: Tue Jan :: UTC 输入"date -R" 显示的是: Tue, Jan :: + 和北京时间相差了8个小时. 1.选择 ...
- asp.net中常用的几种身份验证方式
转载:http://www.cnblogs.com/dinglang/archive/2012/06/03/2532664.html 前言 在B/S系统开发中,经常需要使用"身份验证&q ...
- Apache 流媒体 拖动模块编译
Windows使用apxs独立编译 Apache 模块 http://blog.sina.com.cn/s/blog_43b83d340100mdhl.html 安装 apxs 1.解压apxs.zi ...
- SQLServer 2008数据库查看死锁、堵塞的SQL语句
--每秒死锁数量 SELECT * FROM sys.dm_os_performance_counters WHERE counter_name LIKE 'Number of Deadlocks ...
- xadmin学习笔记(二)——改造Django教程实例(1)
前言 xadmin是基于Python和Django的管理框架,想要能够熟练使用,学习Django是必须的.在学习Django的过程中,不妨用xadmin来验证下新的效果是怎样的.本文就是在学习Djan ...
- 关于UITableViewCell的循环利用--面向初学者
UITableViewCell的重复利用机制有效地节省内存开销和提高程序性能. 1 原理 tableView拥有一个缓存池,存放未在使用(没有显示在界面)的cell. tableView有一行cell ...
- UITableViewCell左滑的时候添加多个按钮的方法(iOS8+)以及UIRefreshControl(iOS6+)的使用。
之前想在cell左滑的时候添加更多的按钮而不是只有‘删除’按钮如下所示,貌似不是一件简单的事.但是现在只要实现几个方法就行了. 代码写的比较垃圾,重在理解这个知识.. . 具体代码: // // T ...