您的位置:首页 > 其它

HDU 4386 Quadrilateral [最大四边形面积]

2012-10-04 08:55 337 查看
  之前无聊时还想到过这个东西,没想到多校就出出来了。。

  结论是面积最大时正好是圆的内接四边形,证明网上可以找到。。

#include <stdio.h>
#include <math.h>
#include <algorithm>
double l[4];
int cas;
double hl(){
double p=(l[0]+l[1]+l[2]+l[3]) / 2;
return sqrt((p-l[0])*(p-l[1])*(p-l[2])*(p-l[3]));
}
int main(){
scanf("%d", &cas);
for (int ca = 1; ca <= cas; ca++) {
scanf("%lf%lf%lf%lf", &l[0], &l[1], &l[2], &l[3]);
std::sort(l, l+4);
if(l[3] >= l[0]+l[1]+l[2])printf("Case %d: -1\n", ca);
else printf("Case %d: %.6f\n", ca , hl());
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: