#include<iostream>
#include<cstring>
#include<cstdio>
#include<math.h>
using namespace std;
double l,w;
double g(double x)
{
return 12*x*x-4*(l+w)*x+l*w;
}
int main()
{
int t;
double left,right,mid;
int k=1;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf",&l,&w);
printf("Case %d: ",k);
k++;
if(l>w)
right=w/2.0;
else
right=l/2.0;
left=0.0;
while(right-left>1e-8)
{
mid=(right+left)/2.0;
if(g(mid)<0)
right=mid;
else
left=mid;
}
printf("%.7lf\n",(l-2*mid)*(w-2*mid)*mid);
}
return 0;
} 下面是方程组法
#include<iostream>
#include<cstring>
#include<math.h>
#include<cstdio>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
int k=1;
while(t--)
{
double l,w;
scanf("%lf%lf",&l,&w);
printf("Case %d: ",k);
k++;
double x,a,b,c;
a=12.0;
b=-4.0*(w+l);
c=w*l*1.0;
x=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("%.7lf\n",(l-2*x)*(w-2*x)*x);
}
return 0;
}