【求助】为什么该用二维数组存系数全WA,改为三个一维数组AC?
查看原帖
【求助】为什么该用二维数组存系数全WA,改为三个一维数组AC?
1014985
GoWithTheFlow楼主2023/9/23 10:29
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e6;
int a[N][3],n;
double x;
double f(double x,int i)
{
	return x*x*a[i][0] + x*a[i][1] + a[i][2];
} 
double F(double x)
{
	double mx = f(x,0);
	for(int i = 1; i < n; i++)
	{
		mx = max(mx,f(x,i));
	}
	return mx;
}
int main() 
{
	int t;
	cin>>t;
	while(t--)
	{
		scanf("%d",&n);
		for(int j = 0; j < n; j++)
		{
			for(int i = 0; i <3; i++) scanf("%d",&a[j][i]);
		}
		double l = 0,r = 1001;
		while(r-l>1e-9)
		{
			double k = (r-l)/3.0;
			double mid1 = l+k , mid2 = r-k;
			//cout<<l<<" "<<r<<endl;
			if(F(mid1) < F(mid2))	r = mid2;
			else l = mid1;
		}
		printf("%.4lf\n",l);
	}
    return 0;
}
2023/9/23 10:29
加载中...