听灌佬多
  • 板块灌水区
  • 楼主ycy1124
  • 当前回复9
  • 已保存回复9
  • 发布时间2025/2/7 11:14
  • 上次更新2025/2/7 14:23:19
查看原帖
听灌佬多
1199534
ycy1124楼主2025/2/7 11:14

P2455

特殊解错了求调qwq

#include<bits/stdc++.h>
using namespace std;
int n,js=1;
double ans[105];
struct Node{
    double w[105];
}a[105];
bool bj;
signed main(){
    ios::sync_with_stdio(0),cin.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n+1;j++){
            cin>>a[i].w[j];
        }
    }
    for(int i=1;i<=n;i++){
        // if(i!=js){
            // cout<<"qwq";
        // }
        int tmp=js;
        for(int j=js;j<=n;j++){
            if(a[j].w[i]>a[tmp].w[i]||a[tmp].w[i]==0){
                tmp=j;
            }
        }
        if(abs(a[tmp].w[i])<0.01){
            bj=1;
            continue;
        }
        for(int j=js;j<=n;j++){
            if(j==tmp){
                continue;
            }
            for(int k=n+1;k>=i;k--){
                a[j].w[k]-=a[j].w[i]/a[tmp].w[i]*a[tmp].w[k];
            }
        }
        swap(a[tmp],a[js]);
        js++;
        // for(int j=js-1;j<=n;j++){
        //     for(int k=1;k<=n+1;k++){
        //         printf("%.2lf ",a[j].w[k]);
        //     }
        //     printf("\n");
        // }
    }
    if(js<=n){
        for(int i=js-1;i<=n;i++){
            if(abs(a[i].w[n+1])>=0.01){
                printf("0");
                return 0;
            }
        }
        printf("-1");
        return 0;
    }
    // cout<<bj;
    for(int i=n;i>=1;i--){
        for(int j=n;j>=i+n-n;j--){
            a[i].w[n+1]-=ans[j]*a[i].w[j];
        }
        ans[i]=a[i].w[n+1]/a[i].w[i];
    }
    for(int i=1;i<=n;i++){
        printf("x%d=%.2lf\n",i,ans[i]);
    }
    return 0;
}
2025/2/7 11:14
加载中...