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

  之前无聊时还想到过这个东西,没想到多校就出出来了。。

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

 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <algorithm>
 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 }

转载于:https://www.cnblogs.com/swm8023/archive/2012/10/04/2711266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值