【高斯消元】CDOJ1784 曜酱的线性代数课堂(二)
2024-08-25 06:47:05
高斯消元求矩阵秩板子。
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const double EPS=0.00000001;
#define N 105
int n,m;
double B[N][N],A[N][N];
int guass_jordan()
{
memcpy(B,A,sizeof(A));
for(int i=1;i<=n;++i)
{
int pivot=i;
for(int j=i+1;j<=n;++j)
if(fabs(B[j][i])>fabs(B[pivot][i]))
pivot=j;
swap(B[i],B[pivot]);
if(fabs(B[i][i])<EPS){
return i-1;
}
for(int j=i+1;j<=m;++j)
B[i][j]/=B[i][i];
for(int j=1;j<=n;++j)
if(i!=j)
for(int k=i+1;k<=m;++k)
B[j][k]-=B[j][i]*B[i][k];
}
return n;
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF){
memset(A,0,sizeof(A));
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
scanf("%lf",&A[i][j]);
}
}
printf("%d\n",guass_jordan());
}
return 0;
}
最新文章
- UNITY和图片像素的换算
- 从C++实现Ping开始说起
- 《InsideUE4》-4-GamePlay架构(三)WorldContext,GameInstance,Engine
- addevent
- python数据分析入门——matplotlib的中文显示问题&;最小二乘法
- ContactsContract中涉及数据库中的一些列属性值【Written By KillerLegend】
- TQ210裸机编程(3)——按键(查询法)
- UIApplication和delegate
- python之enumerate枚举 第二篇(六):enumerate枚举
- SQL Server 造成cpu 使用率高的 6 原因
- VS调试技巧与快捷键&;&;VS快捷键
- DB2简介和安装部署
- 编辑器之神-vim的使用
- LeetCode--019--删除链表的倒数第N个节点(java)
- Linux 第八周实验 进程的切换和系统的一般执行过程
- 有关cookie
- 20165336 实验一 Java开发环境的熟悉
- Racadm设置idrac
- 使用Python2.7 POST 数据到 onenet 平台
- Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题