下面的代码提交不开O2会RE,开了就不会,有dalao知道是为什么吗?
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define maxn 305
double x[maxn][maxn];
int n;
signed main()
{
read_(n);
for(int i(1);i<=n;++i)
for(int j(1);j<=n+1;++j)
cin>>(x[i][j]);
int pl;
double c;
for(int i(1);i<=n;pl=++i)
{
while(x[pl][i]==0.0&&pl<=n) ++pl;
if(pl==n+1) cout<<"No Solution",exit(0);
if(pl!=i) for(int j(i);j<=n+1;++j) swap(x[i][j],x[pl][j]);
c=x[i][i];
for(int j(i);j<=n+1;++j) x[i][j]/=c;
for(int j(i+1);j<=n;++j)
if(x[j][i]!=0.0)
for(int k(n+1);k>=i;--k)
x[j][k]-=x[j][i]*x[i][k];
}
for(int i(n);i>1;--i)
for(int j(i-1);j;--j)
if(x[j][i]!=0.0)
x[j][n+1]-=x[i][n+1]*x[j][i],x[j][i]=0.0;
for(int i(1);i<=n;++i)
printf("%.2f\n",x[i][n+1]);
return 0;
}