高斯消元裸题 记录模板 BZOJ 1013

两遍过

第一遍是PE了 最后一个数不能输出空格 气死啦

                                                        By——WXH

//我的变量是需要就加一个 所以就有很多定义 惨啊

#include

using namespace std;

int n;

double st[20];

double s,tmp;

double gs[20][20];

double ans[20];

void gauss()
{
	for(int i=1;ii;j--)
		{
			t-=gs[i][j]*ans[j];
		}
		ans[i]=t/gs[i][i];
	}
}

int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%lf",&st[i]);
		s+=st[i]*st[i];
	}
	for(int i=1;i<=n;i++)
	{
		double sum=0;
		for(int j=1;j<=n;j++)
		{
			scanf("%lf",&tmp);
			sum+=tmp*tmp;
			gs[i][j]=2*(tmp-st[j]);
		}
		gs[i][n+1]=sum-s;
	}
	gauss();
	for(int i=1;i


你可能感兴趣的:(bzoj)