蒟蒻初学锆石肖猿hack没过求条
查看原帖
蒟蒻初学锆石肖猿hack没过求条
1053122
shy_lihui楼主2024/12/29 14:14
#include<bits/stdc++.h>
using namespace std;
const int MAXN=100;
int n;
double a[MAXN+5][MAXN+5];
void gauss(int x)
{
	for(int i=0;i<x;i++)
	{
		int row=i;
		for(int j=i;j<x;j++)
		{
			if(fabs(a[row][i])<fabs(a[j][i]))
			{
				row=j;
			}
			if(row!=i)
			{
				swap(a[row],a[i]);
			}
			double div1=a[i][i];
			for(int j=0;j<=x;j++)
			{
				a[i][j]/=div1;
			}
			for(int j=i+1;j<x;j++)
			{
				double div2=a[j][i];
				for(int k=0;k<=x;k++)
				{
					a[j][k]-=a[i][k]*div2;
				}
			}
		}
	}
	for(int i=x-1;i>=0;i--)
	{
		for(int j=i-1;j>=0;j--)
		{
			a[j][x]-=a[j][i]*a[i][x];
			a[j][i]=0;
		}
	}
}
int main()
{
	//ios::sync_with_stdio(0);
	//cin.tie(0);
	cin>>n;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<=n;j++)
		{
			cin>>a[i][j];
		}
	}
	gauss(n);
	for(int i=0;i<n;i++)
	{
		bool flag=1;
		for(int j=0;j<n;j++)
		{
			if(fabs(a[i][j])>1e-8)
			{
				flag=0;
			}
		}
		if(flag)
		{
			cout<<"No Solution";
			return 0;
		}
	}
	for(int i=0;i<n;i++)
	{
		cout<<fixed<<setprecision(2)<<a[i][n]<<'\n';
	}
	return 0;
}
2024/12/29 14:14
加载中...