【模板】高斯消元法
link
模板题目。
本来以为高斯消元是一种什么特别高深特别难懂的算法,结果就是一个普普通通的加减消元。有点故弄玄虚的感觉,真是无论什么东西都要搞一个高大上的名字才行吗。
写法上也很简单。枚举每一个未知数的系数,考虑把它变成1,同时把其它行的相应位置变成0即可。实现上有些细节,不多说。
另外可以想到若某一行前面N个数均为0,要么是无解,要么是无数解,在本题中都要输出无解。
#include
//#define zczc
const int N=105;
const double eps=1e-6;
inline void read(int &wh){
wh=0;int f=1;char w=getchar();
while(w<'0'||w>'9'){if(w=='-')f=-1;w=getchar();}
while(w<='9'&&w>='0'){wh=wh*10+w-'0';w=getchar();}
wh*=f;return;
}
inline double abs(double wh){return wh<0?-wh:wh;}
inline double swap(double s1,double s2){double s3=s1;s1=s2;s2=s3;}
int m;double a[N][N];
signed main(){
#ifdef zczc
freopen("in.txt","r",stdin);
#endif
read(m);
for(int i=0;i
相关