ガウス消元裸題記録テンプレートBZOJ 1013

858 ワード

2度
1回目はPEで最後の数はスペースを出力できなくて息が詰まった.
                                                        By——WXH
//私の変数は1つ追加する必要があるので、定義がたくさんあります.
#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