萌新求助 RE

P2455 [SDOI2006] 线性方程组

Rain_Carnation @ 2022-06-29 20:33:59

rt,样例过了,全部 RE

#include<iostream>
#include<cmath>
#include<cstdio>
#include<iomanip> 
#define ll long long
#define QwQ cout<<"QwQ"<<endl;
using namespace std;
#define eps 1e-6
const int N=1010;
double a[N][N];
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;++i)
        for(int j=0;j<n+1;++j) cin>>a[i][j];
    int row=0;
    for(int j=0;j<n;++j){
        int t;
        for(int t=row;t<n;++t)
            if(fabs(a[t][j])>eps) break;
        if(t==n) continue;
        for(int i=j;i<=n;++i) swap(a[t][i],a[row][i]);
        for(int i=n;i>=j;--i) a[row][i]/=a[row][j];
        for(int i=0;i<n;++i)
            if(i!=row)
                for(int k=n;k>=j;--k) a[i][k]-=a[row][k]*a[i][j];
        ++row;
    }
    if(row<n){
        for(int i=row;i<n;++i)
            if(fabs(a[i][n])>eps){
                cout<<-1<<endl;
                return 0;
            }
        cout<<0<<endl;
    }
    else for(int i=0;i<n;++i) printf("x%d=%0.2lf\n",i+1,a[i][n]);
    return 0;
}

萌新没看出来 求问是哪里脑抽写错


by _cyle_King @ 2022-07-08 14:44:44

int t;然后在循环里面又定义了一个t。


|