被最后一个点hark了,铅条
#include <bits/stdc++.h>
using namespace std;
int n,i,j,k,x,pd;
double a[55][55],ma,ps,jie[55];
bool vis[55],jl;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=n+1;j++){
cin>>a[i][j];
a[i][j]=a[i][j]*1.0;
}
}
for(i=1;i<=n;i++){
ma=-1000000;
for(j=1;j<=n;j++){
if(vis[j]==0&&a[j][i]>ma){
x=j;
ma=a[j][i];
}
}
if(ma==0){
pd=1;
continue;
}
for(j=1;j<=n;j++){
if(j!=x){
ps=a[j][i]/ma;
for(k=i;k<=n+1;k++){
a[j][k]=a[j][k]-a[x][k]*ps;
}
}
}
for(k=i;k<=n+1;k++){
a[x][k]=a[x][k]/ma;
}
vis[x]=1;
}
if(pd==1){
for(i=1;i<=n;i++){
jl=1;
for(j=1;j<=n;j++){
if(a[i][j]!=0){
jl=0;
break;
}
}
if(jl==1){
if(a[i][n+1]!=0){
pd=2;
cout<<"-1";
break;
}
}
}
if(pd==1){
cout<<"0";
}
}
else{
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(a[i][j]==1.0){
jie[j]=a[i][n+1];
break;
}
}
}
for(i=1;i<=n;i++){
cout<<"x"<<i<<"="<<fixed<<setprecision(2)<<jie[i]<<"\n";
}
}
return 0;
}