首页 > 其他分享 >【模板】高斯消元

【模板】高斯消元

时间:2023-04-07 20:55:56浏览次数:42  
标签:maxx return int double 52 高斯消 pd 模板

#include<bits/stdc++.h>
using namespace std;
const double eps=1e-10;
double uu,a[52][52],b[52];
int n,l[52];bool pd;
inline void zzd(int &maxx,int i,int cnt){
	for(int j=cnt+1;j<=n;++j){//找系数最大值 
		if(fabs(a[j][i])>fabs(a[maxx][i]))
			maxx=j;
	}
	return ;
}
signed main(void){
	scanf("%d",&n);
	for(int i=1;i<=n;++i){
		for(int j=1;j<=n;++j){
			scanf("%lf",&a[i][j]);
		}
		scanf("%lf",b+i);
	}int cnt=1;
	for(int i=1;i<=n;++i){//枚举列 
		int maxx=cnt;
		zzd(maxx,i,cnt);
		if(fabs(a[maxx][i])<eps) continue;
		for(int j=1;j<=n;++j) swap(a[cnt][j],a[maxx][j]);//交换 
		swap(b[cnt],b[maxx]);
		uu=a[cnt][i];
		for (int j = i; j <= n; j++)
			a[cnt][j]/=uu;
		b[cnt]/=uu;
		for(int j=1;j<=n;++j){
			if(j!=cnt){
				uu=a[j][i];
				for(int k=i;k<=n;++k)
					a[j][k]-=a[cnt][k]*uu;
				b[j]-=b[cnt]*uu;
			}
		}
		l[cnt]=i;++cnt;
	}
	for(int i=1;i<=n;++i){
		if(fabs(a[i][l[i]])<eps){
			if(fabs(b[i])>=eps) return puts("-1"),0;//无解
			pd=1;continue;
		}
	}
	if(pd) return puts("0")&0;//多组解
	double ans;
	for(int i=1;i<=n;++i)
	{
		ans=b[i]/a[i][i];
		if(ans==0) printf("x%d=0\n",i);
		else printf("x%d=%.2lf\n",i,ans);
	}
	return 0;
} 

标签:maxx,return,int,double,52,高斯消,pd,模板
From: https://www.cnblogs.com/GOD-HJ/p/17297309.html

相关文章

  • 使用模板窗口生成测试数据
    1.准备工作*需要的环境1.Oralce、MySQL、PG等主流数据库2.HHDBCS7.6及以上版本*测试步骤1.建立两张表带有主外键关系2.使用模板窗口生成数据,主键表生成100条,外键表生成10000条3.校验数据生成情况2.建立两张表带有主外键关系--主键表createtabledept(d_id......
  • [mybatis-config.xml] 模板
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><ty......
  • PageOffice——动态填充Word模板并在线编辑
    说明:使用pageoffice动态给word模板填充数据,插入图片、excel、word格式的文件和创建表格。一、准备工作:本地创建一个doc或者docx格式的文件,在文件中需要插入数据的地方设置以“PO_”开头的书签(pageoffice只能识别“PO_”开头的书签)。 二、插入图片PageOfficeCtrlp......
  • VSCode自建vue示例模板
    步骤打开File->Preferences->ConfigureUserSnippets选择NewGlobalSnippetsfile...输入名字(自定义),填入以下内容,注意修改vue.js路径{"Printtoconsole":{"prefix":"vue","body":["<scrip......
  • PVE Cloud-INIT 模板配置
    PVECloud-INIT模板配置Cloud-init是什么Cloud-init是开源的云初始化程序,能够对新创建弹性云服务器中指定的自定义信息(主机名、密钥和用户数据等)进行初始化配置。通过Cloud-init进行弹性云服务器的初始化配置,将对您使用弹性云服务器、镜像服务和弹性伸缩产生影响。简单地讲,clou......
  • T4 运行时模板引擎
    之前的文章都介绍的是通过保存的方式来使用T4,或者是通过VS下的TextTransform.exe文件来编译T4(还需要考虑传参长度等各种问题)T4模板引擎参数调用;这些方法都比较繁琐,可以适用在不同的使用场景下,本文介绍一下运行时的T4模板运行时T4只需要在创建时候选择为运行时模板即可,和之前......
  • blockchain | 基于ethers.js的ctf合约攻击模板
    blockchain|基于ethers.js的ctf合约攻击模板之前做题用的是truffle命令行和truffleexec来进行编写代码,封装的层级比较高,这个框架主要还是用来开发比较方便,看了大师傅的wp(https://www.seaeye.cn/archives/497.html)以后觉得还是得写一个自己用起来顺手的攻击模板。使用ethers......
  • opencv-python 4.12. 模板匹配
    理论模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此,OpenCV附带了一个函数cv.matchTemplate()。它只是在输入图像上滑动模板图像(如在2D卷积中),并比较模板图像下的输入图像的模板和补丁。在OpenCV中实现了几种比较方法。它返回一个灰度图像,其中每个像素表示该像素的......
  • 基于模板和形态学处理的车牌检测分割和识别matlab仿真,可以识别其中的一个英文字母和
    1.算法描述       车牌识别系统(VehicleLicensePlateRecognition,VLPR)是计算机视频图像识别技术在车辆牌照识别中的一种应用。车牌识别在高速公路车辆管理中得到广泛应用,电子收费(ETC)系统中,也是结合DSRC技术识别车辆身份的主要手段。        车牌识别技术要......
  • CAD模板怎么设置?CAD模板设置技巧
    在CAD制图过程中,如果需要设置一个模板的话该如何操作呢?CAD模板怎么设置?本节CAD制图教程就和小编一起来了解一下浩辰CAD软件中设置CAD模板的相关操作技巧吧!CAD模板设置步骤:步骤一:启动浩辰CAD后,打开或者是新建一个可以作为模板的图形文件。步骤二:点击软件左上角的【G】图标,在下拉......