信息学carryHarry @ 2022-05-02 16:57:18
#include<bits/stdc++.h>
using namespace std;
const double N=1e-6;
int n;
struct node{
double a[105];
int p;
}e[105];
double x[105];
bool find(int a,int b)
{
for(int i=a;i<=n;i++){
if(abs(e[i].a[b])>N){
swap(e[a],e[i]);
return 1;
}
}
return 0;
}
bool Guess()
{
int i=1,p=0,b=0;
for(;i<=n;i++){
for(p++;p<=n+1&&!find(i,p);p++){
b=1;
}
if(p>n){
break;
}
e[i].p=p;
for(int j=1;j<=n;j++){
if(i!=j){
for(int k=n+1;k>=p;k--){
e[j].a[k]-=e[i].a[k]/e[i].a[p]*e[j].a[p];
}
}
}
}
for(i--;i;i--){
x[e[i].p]=e[i].a[n+1]/e[i].a[e[i].p];
}
if(p==n+1){
cout<<0;
exit(0);
}
if(b){
cout<<-1;
exit(0);
}
return 1;
}
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n+1;j++){
cin>>e[i].a[j];
}
}
if(Guess()){
cout<<fixed<<setprecision(2);
for(int i=1;i<=n;i++){
cout<<"x"<<int(i)<<"="<<x[i]<<'\n';
}
}
return 0;
}
by 黑影洞人 @ 2022-05-02 17:05:21
Cu ball
by 信息学carryHarry @ 2022-05-02 17:12:36
@黑影洞人
什么意思
by xhgua @ 2022-05-02 17:43:44
@信息学carryHarry Cu=铜 Ball=q球
连起来就是“同求”的意思