求助

P3389 【模板】高斯消元法

还有,为什么用代码框是这个效果???
by henryzhang2020 @ 2021-05-04 19:22:33


@[henryzhang2020](/user/369447) 你没放到里面啊
by Kiloio @ 2021-05-18 18:39:21


```cpp #include<bits/stdc++.h> using namespace std; struct matrix{ int a[1005][1005],b[1005],len; }A; double x[1005]; int det(matrix a){ int ans; for(int i=1;i<=a.len;i++) for(int j=i;j<=a.len;j++) while(a.a[j][i]){ for(int k=1;k<=a.len;k++) a.a[i][k]-=a.a[i][i]/a.a[j][i]a.a[j][k]; for(int k=1;k<=a.len;k++) swap(a.a[i][k],a.a[j][k]); ans=-1; } for(int i=1;i<=a.len;i++) ans*=a.a[i][i]; return ans; } void gramer(){ int n=det(A); for(int i=1;i<=A.len;i++){ for(int j=1;j<=A.len;j++) swap(A.a[i][j],A.b[j]); printf("%.2lf",det(A)/n); for(int j=1;j<=A.len;j++) swap(A.a[i][j],A.b[j]); } } int main(){ scanf("%d",&A.len); for(int i=1;i<=A.len;i++){ for(int j=1;j<=A.len;j++) scanf("%d",&A.a[i][j]); scanf("%d",&A.b[i]); } if(det(A)){ gramer(); } else printf("No Solution"); } ``` 重新整理一遍。
by cancan123456 @ 2021-07-12 21:32:02


|