首页 > 代码库 > 给定4根长度的线段,求组成四边形的最大面积
给定4根长度的线段,求组成四边形的最大面积
解题关键:最大面积即4个点都在其外接圆上时的面积。
$p = (a + b + c + d)/2$
$s = \sqrt {(p - a)(p - b)(p - c)(p - d)}$
只是知道结论,证明过后补
#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>using namespace std;typedef long long ll;double a[10];int main(){ ll t; scanf("%lld",&t); ll i; for(i=1;i<=t;i++){ scanf("%lf%lf%lf%lf",a,a+1,a+2,a+3); sort(a,a+4); if(a[3]>=a[0]+a[1]+a[2]){ printf("Case %lld: -1\n",i); continue; } double p=(a[1]+a[2]+a[3]+a[0])/2; double s=sqrt((p-a[0])*(p-a[1])*(p-a[2])*(p-a[3])); printf("Case %lld: %.6lf\n",i,s); }}
给定4根长度的线段,求组成四边形的最大面积
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。