2016夏季练习——三分

来源:互联网 发布:lazada卖家数据分析 编辑:程序博客网 时间:2024/04/28 18:39

来源:HDU 3714

三分还是蛮简单的,直接上代码:

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const double eps = 1e-9;const int MAXN = 10010;const double IDOUBLE=(~0U>>1);int n;int a[MAXN];int b[MAXN];int c[MAXN];double fun(double x,int pos){return x*x*a[pos]*1.0+x*b[pos]*1.0+c[pos]*1.0;}double calc(double x){double ans=-IDOUBLE;for(int i=0;i<n;i++){ans=max(ans,fun(x,i));}return ans;}bool judge(double mid,double midmid){return calc(mid)<calc(midmid);}int main(){int T;scanf("%d",&T);while(T--){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d%d",&a[i],&b[i],&c[i]);}double left=0;double right=1000;double mid=(left+right)/2;double midmid=(right+mid)/2;while(abs(mid-midmid)>eps){mid=(left+right)/2;midmid=(right+mid)/2;if(judge(mid,midmid)){right=midmid;}else{left=mid;}}printf("%.4f\n",calc(mid));}return 0;}


0 0
原创粉丝点击