题目链接:https://www.luogu.org/problemnew/show/P2455

无解:最后一列对应元素不为0,前面全是0.

无穷解:一行全是0.

嗯...在消元过程中不要直接拿矩阵元素自己消,会把自己消成0.

 #include <algorithm>
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
const int maxn = ;
const double eps = 1e-;
double A[maxn][maxn], ans[maxn];
int n;
int main()
{
scanf("%d",&n);
for(int i = ; i <= n; i++)
for(int j = ; j <= n+; j++)
scanf("%lf", &A[i][j]);
for(int i = ; i <= n; i++)
{
int p = i;
for(int j = i + ; j <= n; j++)
if(fabs(A[j][i]) > fabs(A[p][i])) p = j;
for(int j = ; j <= n + ; j++) swap(A[p][j],A[i][j]); if(fabs(A[i][i]) < eps) continue;
double div = A[i][i];
for(int j = ; j <= n + ; j++) A[i][j]/=div;
for(int j = ; j <= n; j++)
{
if(i != j)
{
double div = A[j][i];
for(int k = ; k <= n + ; k++) A[j][k] -= A[i][k]*div;
}
}
}
int NoSolution = , ManySolution = ;
for(int i = ; i <= n; i++)
{
int Nonum = , Manynum = ;
for(int j = ; j <= n + && fabs(A[i][j]) < eps; j++)
Nonum++,Manynum++;
if(Manynum > n) ManySolution = ;
if(Nonum == n) NoSolution = ;
}
if(NoSolution) {printf("-1");return ;}
if(ManySolution) {printf("");return ;}
for(int i = n; i >= ; i--)
{
ans[i] = A[i][n+];
for(int j = i - ; j >= ; j--)
{
A[j][n+] -= ans[i] * A[j][i];
A[j][i] = ;
}
}
for(int i = ; i <= n; i++)
printf("x%d=%.2lf\n",i,ans[i] + eps);
return ;
}

【luogu P2455 [SDOI2006]线性方程组】 题解的更多相关文章

  1. Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子

    果然如Miracle学长所说...调了一天...qwq..还是过不了线下的Hack upd after 40min:刚刚过了 就是多了一个判无解的操作... 当系数都为0,且常数项不为0时,即为无解. ...

  2. P2455 [SDOI2006]线性方程组(real gauss)

    P2455 [SDOI2006]线性方程组 (upd 2018.11.08: 这才是真正的高斯消元模板) 找到所消未知数(设为x)系数最大的式子,把它提上来 把这个式子的 x 系数约成1 把这个式子用 ...

  3. P2455 [SDOI2006]线性方程组

    P2455 [SDOI2006]线性方程组 真\(\cdot\)高斯消元模板题 由于各种hack数据被造出来~码量突增~,其实也就多了二三十行 将每行系数消到最多有一个非0数 特殊情况: 在过程同时 ...

  4. 洛谷P2455 [SDOI2006]线性方程组(高斯消元)

    题目描述 已知n元线性一次方程组. 其中:n<=50, 系数是[b][color=red]整数<=100(有负数),bi的值都是整数且<300(有负数)(特别感谢U14968 mmq ...

  5. 洛谷P2455 [SDOI2006]线性方程组

    高斯消元模板 要求输出解的情况(无穷解/无解) 1. 之前写的丑陋代码 #include <iostream> #include <cstdio> #include <c ...

  6. 【luogu P5022 旅行】 题解

    题目连接:https://www.luogu.org/problemnew/show/P5022 \(NOIP2018 DAY2T1\) 考场上只写了60分,很容易想到当 m = n - 1 时的树的 ...

  7. [luogu 2458][SDOI2006]保安站岗

    题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地下超市的所有通道呈一棵树的形状:某些通道之间可以互 ...

  8. 【luogu P2831 愤怒的小鸟】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2831 写点做题总结:dp,搜索,重在设计状态,状态设的好,转移起来也方便. 对于一条抛物线,三点确定.(0, ...

  9. 【luogu P2827 蚯蚓】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2827 35分:暴力sortO(mnlogn). 80分:考虑到每次不好维护不被切的点+q,正难则反.改成维护 ...

随机推荐

  1. 我的博客已经迁移到csdn

    博客已经迁移csdnhttp://blog.csdn.net/u013372900 博客园我很喜欢是源于他的可扩展性,可以自己去改,但遗憾的是博客园的速度似乎不是很给力.IT能有今天的 发展是源于无数 ...

  2. BNU29376——沙漠之旅——————【技巧题】

    沙漠之旅 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: M ...

  3. Java学习第二十五天

    1:如何让Netbeans的东西Eclipse能访问. 在Eclipse中创建项目,把Netbeans项目的src下的东西给拿过来即可. 注意:修改项目编码为UTF-8 2:GUI(了解) (1)用户 ...

  4. SQL脚本整理系列 三

    触发器 SQL 2008 怎么实现删除学生表里面的一条记录,成绩表里面关于这个学生的记录也同时删掉,谢求具体代码 --创建表 DROP TABLE tstudent GO CREATE TABLE t ...

  5. C# 创建一个WCF服务

    做代码统计,方便以后使用: app.config配置文件设置: <configuration> <system.serviceModel> <bindings> & ...

  6. 图解JavaScript中的原型链

    转自:http://www.jianshu.com/p/a81692ad5b5d typeof obj 和 obj instanceof Type 在JavaScript中,我们经常用typeof o ...

  7. Exchange 域用户无权管理邮箱

    将需要管理邮箱的域用户添加至“Microsoft Exchange Security Groups”用户组即可.

  8. html 表格单元格的宽度和高度的设置

    做网页的时候,经常会碰到表格宽度对不齐的问题.详细地看了html中表格标签table的高度和宽度设置的细节,现总结如下: 1.table中的width和height设置及其作用:table中设置的he ...

  9. Mac系统在finder拦显示当前所浏览的文件路径的方法

    我们在使用MAC时,Finder栏默认只显示当前浏览的文件夹名称,而没有显示访问路径,这个问题该怎么解决呢? 编辑node的时候需要路径,亲测有效啦~可以试下! 操作步骤: 打开“终端”(应用程序-& ...

  10. (四)svn 服务器端的使用之创建工程目录

    仓库中存放开发项目代码.文档等,需要创建一个工程目录. 在之前创建的仓库中右键点击: 创建成功 trunk:项目开发代码的主体,是从项目开始直到当前都处于活动的状态,从这里可以获得项目最新的源代码以及 ...