很直观的一个gauss题;

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

  1. #include<cstdio>
  2. #include<algorithm>
  3. #include<cmath>
  4. #include<cstring>
  5. #define maxn 12
  6. #define eps 0.00001
  7. using namespace std;
  8.  
  9. double matrix[][];
  10. double ans[];
  11. void exchange_col(int p1,int p2,int n)
  12. {
  13. double t;
  14. int i;
  15. for(int i=; i<=n; i++)
  16. swap(matrix[p1][i],matrix[p2][i]);
  17. }
  18.  
  19. bool gauss(int n)
  20. {
  21. int i,j,k;
  22. int p;
  23. double r;
  24. for(i=; i<n-; i++)
  25. {
  26. p=i;
  27. for(j=i+; j<n; j++)
  28. if(fabs(matrix[j][i])>fabs(matrix[p][i]))
  29. p=j;
  30. if(p!=i)
  31. exchange_col(i,p,n);
  32. if(matrix[i][i]==) return false;
  33. for(j=i+; j<n; j++)
  34. {
  35. r=matrix[j][i]/matrix[i][i];
  36. for(k=i; k<=n; k++)
  37. matrix[j][k]-=r*matrix[i][k];
  38. }
  39. }
  40. for(i=n-; i>=; i--)
  41. {
  42. ans[i]=matrix[i][n];
  43. for(j=n-; j>i; j--)
  44. ans[i]-=matrix[i][j]*ans[j];
  45. if(fabs(matrix[i][i])<eps)return false;
  46. ans[i]/=matrix[i][i];
  47. }
  48. return true;
  49. }
  50.  
  51. double map[][];
  52. double fang[][];
  53.  
  54. int main()
  55. {
  56. int n;
  57. scanf("%d",&n);
  58. for(int i=;i<=n;i++)
  59. {
  60. for(int j=;j<n;j++)
  61. {
  62. scanf("%lf",&map[i][j]);
  63. if(i>)
  64. {
  65. matrix[i-][j]=*(map[i][j]-map[i-][j]);
  66. fang[i-][j]=map[i][j]*map[i][j]-map[i-][j]*map[i-][j];
  67. }
  68. }
  69. }
  70. for(int i=;i<n;i++)
  71. {
  72. double ret=;
  73. for(int j=;j<n;j++)
  74. ret+=fang[i][j];
  75. matrix[i][n]=ret;
  76. }
  77. gauss(n);
  78. for(int i=;i<n-;i++)
  79. printf("%.3lf ",ans[i]);
  80. printf("%.3lf",ans[n-]);
  81. return ;
  82. }

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. CentOS下安装福昕PDF软件

    官方下载地址:http://www.foxitsoftware.cn/downloads/ tar -jxvf foxreader.tar.bz2问题:下载官方包以后解压,双击不能打开,也没有任何提示 ...

  2. symonfy 项目根目录下没有 bin/console 文件的解决方法

    “Could not open input file: bin/console” Error comes when try to Run the Symfony Application 在采纳的答案中 ...

  3. mysql 导入导出sql文件

    使用mysqldump导出sql文件 目前清楚的mysqldump语法是: mysqldump -h[hostname] -u[username] -p [databasename] > [sq ...

  4. Ubuntu 修改时间

    输入"date",显示的是: Tue Jan :: UTC 输入"date -R" 显示的是: Tue, Jan :: + 和北京时间相差了8个小时. 1.选择 ...

  5. asp.net中常用的几种身份验证方式

    转载:http://www.cnblogs.com/dinglang/archive/2012/06/03/2532664.html   前言 在B/S系统开发中,经常需要使用"身份验证&q ...

  6. Apache 流媒体 拖动模块编译

    Windows使用apxs独立编译 Apache 模块 http://blog.sina.com.cn/s/blog_43b83d340100mdhl.html 安装 apxs 1.解压apxs.zi ...

  7. SQLServer 2008数据库查看死锁、堵塞的SQL语句

      --每秒死锁数量 SELECT * FROM sys.dm_os_performance_counters WHERE counter_name LIKE 'Number of Deadlocks ...

  8. xadmin学习笔记(二)——改造Django教程实例(1)

    前言 xadmin是基于Python和Django的管理框架,想要能够熟练使用,学习Django是必须的.在学习Django的过程中,不妨用xadmin来验证下新的效果是怎样的.本文就是在学习Djan ...

  9. 关于UITableViewCell的循环利用--面向初学者

    UITableViewCell的重复利用机制有效地节省内存开销和提高程序性能. 1 原理 tableView拥有一个缓存池,存放未在使用(没有显示在界面)的cell. tableView有一行cell ...

  10. UITableViewCell左滑的时候添加多个按钮的方法(iOS8+)以及UIRefreshControl(iOS6+)的使用。

    之前想在cell左滑的时候添加更多的按钮而不是只有‘删除’按钮如下所示,貌似不是一件简单的事.但是现在只要实现几个方法就行了. 代码写的比较垃圾,重在理解这个知识.. . 具体代码: // //  T ...