#include<bits/stdc++.h>
#define getm mid=(l+r)/3,lmid=mid+l,rmid=r-mid
#define ll long long
#define ld long double
using namespace std;
const int maxi=1e4+9;
const ld eps=0.00000000001;
ld a[maxi],b[maxi],c[maxi];
int T,N;
inline ld max(ld a,ld b){return a>b?a:b;}
ld f(ld x,int i){return a[i]*x*x+b[i]*x+c[i];}
ld F(ld x){
ld ans=f(x,1);
printf("x=%Lf,i=1,ans=%Lf\n",x,ans);
for(int i=2;i<=N;i++){
ans=max(ans,f(x,i));
printf("x=%Lf,i=%d,ans=%Lf\n",x,i,ans);
}
return ans;
}
void solve(){
cin>>N;
for(int i=1;i<=N;i++){
scanf("%Lf%Lf%Lf",&a[i],&b[i],&c[i]);
}
ld l=0,r=1e3,mid,lmid,rmid;
//cout<<l<<' '<<r<<endl;
while(r-l>eps){
getm;
printf("l=%Lf,r=%Lf,lmid=%Lf,rmid=%Lf,r-l=%Lf\n",l,r,lmid,rmid,r-l);
if(F(lmid)>F(rmid))l=lmid;
else r=rmid;
}
printf("%.4Lf\n",F(l));
}
int main(){
cin>>T;
for(int i=1;i<=T;i++)solve();
return 0;
}
用这段代码运行样例会发现最后一次三分时精度还不够就自己结束了,非常神奇,在线ide和本地的运行结果居然还是一样的