题目:[SDOI2006]线性方程组

显然,高斯消元模板题

代码:

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#define N 105
#define eps 1e-6
using namespace std;
int n;
double a[N][N];
int guass()
{
int r=0;
for(int c=0;c<n;c++)
{
int t=r;
for(int i=r;i<n;i++)
if(fabs(a[i][c])>fabs(a[t][c]))
t=i;
if(fabs(a[t][c])<eps)
continue;
for(int i=c;i<=n;i++)
swap(a[t][i],a[r][i]);
for(int i=n;i>=c;i--)
a[r][i]/=a[r][c];
for(int i=r+1;i<n;i++)
if(fabs(a[i][c])>eps)
for(int j=n;j>=c;j--)
a[i][j]-=a[r][j]*a[i][c];
++r;
}
if(r<n)
{
for(int i=r;i<n;i++)
if(fabs(a[i][n])>eps)
return 2;
return 1;
}
for(int i=n-1;i>=0;i--)
for(int j=i+1;j<n;j++)
a[i][n]-=a[i][j]*a[j][n];
return 0;
}
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
for(int j=0;j<=n;j++)
scanf("%lf",&a[i][j]);
int t=guass();
if(!t)
{
for(int i=0;i<n;i++)
{
if(fabs(a[i][n])<eps)
a[i][n]=fabs(a[i][n]);
printf("x%d=%.2lf\n",i+1,a[i][n]);
}
}
else if(t==1)
puts("0");
else
puts("-1");
return 0;
}

最新文章

  1. 软件工程里的UML序列图的概念和总结
  2. CocoaPods的那些坑
  3. 对点餐APP现阶段开发的问题
  4. js点击空白处弹窗消失
  5. MaskEdit 使用方法
  6. 知方可补不足~SQL2008中的发布与订阅模式~续
  7. app接口的简单案例 和一些总结
  8. 【设计模式】策略模式 (Strategy Pattern)
  9. spring applicationContext.xml 文件
  10. GIMP也疯狂之动态图的制作(一)
  11. JDK8安装时错误1335的解决
  12. Android远程桌面助手之功能简介
  13. ISP PIPLINE (附加1) Green Imbalance
  14. Map、List、Set在Java中的各种遍历方法
  15. 浏览器渲染页面的时候,不同的script块之间的关系
  16. LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
  17. 第三个Sprint ------第六天
  18. 【转】Python之日期与时间处理模块(date和datetime)
  19. C++类型检查
  20. regular exception

热门文章

  1. RTSP播放器开发填坑之道
  2. 如何从零开始参与 Apache 顶级开源项目?| 墙裂推荐
  3. 《Java Web程序设计——开发环境搭建》
  4. Java语言(基础一)
  5. Kubernetes DevOps: Tekton
  6. MinIO管理员完整指南
  7. Beats:Beats 入门教程 (一)
  8. Kubernetes(k8s)通过环境变量将 Pod 信息呈现给容器
  9. Jenkins忘记管理员密码怎么办
  10. Tubian0.42