之前无聊时还想到过这个东西,没想到多校就出出来了。。
结论是面积最大时正好是圆的内接四边形,证明网上可以找到。。
1 #include2 #include 3 #include 4 double l[4]; 5 int cas; 6 double hl(){ 7 double p=(l[0]+l[1]+l[2]+l[3]) / 2; 8 return sqrt((p-l[0])*(p-l[1])*(p-l[2])*(p-l[3])); 9 }10 int main(){11 scanf("%d", &cas);12 for (int ca = 1; ca <= cas; ca++) {13 scanf("%lf%lf%lf%lf", &l[0], &l[1], &l[2], &l[3]);14 std::sort(l, l+4);15 if(l[3] >= l[0]+l[1]+l[2])printf("Case %d: -1\n", ca);16 else printf("Case %d: %.6f\n", ca , hl());17 }18 return 0;19 }