题目描述:https://www.luogu.org/problem/P3389
#include<bits/stdc++.h>
using namespace std;
int n;
double a[105][105];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n+1;j++)
scanf("%lf",&a[i][j]);
for(int i=1;i<=n;i++){
int pi=i;
while(!a[pi][i]&&pi<=n) pi++;
if(pi>n){
printf("No Solution
");
return 0;
}
for(int j=1;j<=n+1;j++)
swap(a[i][j],a[pi][j]);
double t=a[i][i];
for(int j=1;j<=n+1;j++)
a[i][j]/=t;
for(int j=1;j<=n;j++){
if(j!=i){
double t=a[j][i];
for(int m=1;m<=n+1;m++)
a[j][m]-=t*a[i][m];
}
}
}
for(int i=1;i<=n;i++)
printf("%.2lf
",a[i][n+1]);
return 0;
}