bzoj1013: [JSOI2008]球形空间产生器sphere
高斯消元。
心态很差不想说话。
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; int n; double a[20][20]; double qg[20][20],qc[20]; void gauss() { for(int j=1;j<=n;j++) { for(int i=j;i<=n;i++) { if(fabs(qg[i][j])>1e-8) { for(int k=1;k<=n;k++)swap(qg[i][k],qg[j][k]); swap(qc[i],qc[j]); } } for(int i=1;i<=n;i++) { if(i==j)continue; double rate=qg[i][j]/qg[j][j]; for(int k=j;k<=n;k++)qg[i][k]-=qg[j][k]*rate; qc[i]-=qc[j]*rate; } } } int main() { scanf("%d",&n); for(int i=1;i<=n+1;i++) for(int j=1;j<=n;j++) scanf("%lf",&a[i][j]); for(int i=1;i<=n;i++) { qc[i]=0; for(int j=1;j<=n;j++) { qg[i][j]=2*(a[i][j]-a[i+1][j]); qc[i]+=a[i][j]*a[i][j]-a[i+1][j]*a[i+1][j]; } }//init gauss(); for(int i=1;i<n;i++)printf("%.3lf ",qc[i]/qg[i][i]); printf("%.3lf\n",qc[n]/qg[n][n]); return 0; }
pain and happy in the cruel world.