luogu 3389 模板高斯消元法
Posted guangheli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu 3389 模板高斯消元法相关的知识,希望对你有一定的参考价值。
#include <bits/stdc++.h> #define N 104 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n; double g[N][N]; void Gauss() int i,j,k,now; for(i=1;i<=n;++i) now=i; for(j=i+1;j<=n;++j) if(fabs(g[j][i])>fabs(g[now][i])) now=j; for(j=1;j<=n+1;++j) swap(g[now][j],g[i][j]); if(g[i][i]==0) printf("No Solution\n"); exit(0); for(j=i+1;j<=n+1;++j) g[i][j]/=g[i][i]; g[i][i]=1; for(j=i+1;j<=n;++j) // 枚举第 j 行 double div=g[j][i]; for(k=i+1;k<=n+1;++k) g[j][k]-=div*g[i][k]; g[j][i]=0; for(i=n;i>=1;--i) for(j=i+1;j<=n;++j) g[i][n+1]-=g[i][j]*g[j][n+1]; int main() int i,j; // setIO("input"); scanf("%d",&n); for(i=1;i<=n;++i) for(j=1;j<=n+1;++j) scanf("%lf",&g[i][j]); Gauss(); for(i=1;i<=n;++i) printf("%.2f\n",g[i][n+1]); return 0;
非常好理解~
Code:
以上是关于luogu 3389 模板高斯消元法的主要内容,如果未能解决你的问题,请参考以下文章