lightoj 1297(三分)

 

传送门:Largest Box

题意:长度为L宽度为W的纸四个角去掉x*x的正方形,然后形成一个长方体,问能组成长方体的最大体积为多少。

分析:三分x求最值。

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#define N 100010
#define mod 1000000007
#define LL long long
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const double eps=1e-8;
double L,W;
double calc(double x)
{
    return (L-2*x)*(W-2*x)*x;
}
int main()
{
    int T,cas=1;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lf%lf",&L,&W);
        double l=0,r=min(L,W)/2.0,mid,mmid;
        while(l<r)
        {
            mid=(l+r)/2.0;
            mmid=(mid+r)/2.0;
            if(calc(mid)<=calc(mmid))l=mid+eps;
            else r=mmid-eps;
        }
        printf("Case %d: %.10lf\n",cas++,calc(mid));
    }
}
View Code

 

posted on 2015-03-31 16:31  lienus  阅读(302)  评论(0编辑  收藏  举报

导航