HDU 4386 给出四条边长求最大面积

简介:

题意:给出四条边长求四条边长最大面积。

不难发现凸四边形的面积最大,并且该四边形的端点在一个圆上,如果a+b+c<=d (d为最长边),那么不能组成四边形输出-1,其他情况根据公式s=sqrt((p-a)*(p-b)*(p-c)*(p-d)) p=(a+b+c+d)/2 

#include <iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

int main()
{
    double a[4];
    int ca=0,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%lf%lf%lf%lf",&a[0],&a[1],&a[2],&a[3]);
        printf("Case %d: ",++ca);
        sort(a,a+4);
        double p=(a[0]+a[1]+a[3]+a[2])/2.0;
        if(a[0]+a[1]+a[2]<=a[3])
            puts("-1");
        else
            printf("%.6f\n",sqrt((p-a[0])*(p-a[1])*(p-a[2])*(p-a[3])));
    }
    return 0;
}


目录
相关文章
|
10月前
|
机器学习/深度学习 Python
【每周一坑】输出三角形
如果输出固定长度对你来说太简单了,可以增加一个输入 n(n为正整数且 n>3),作为输出三角形第一行星号的数量。
|
10月前
|
算法 Python
【每周一坑】​计算100以内质数之和 +【解答】输出三角形
不过如果你有兴趣的话,可以进一步考虑一下你所用方法的算法复杂度是多少,看看谁的方法更简单。
|
11月前
|
人工智能 算法 BI
【LeetCode——编程能力入门第二天】运算符(三角形的最大周长(贪心算法)/找到最近的有相同 X 或 Y 坐标的点)
给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
79 0
【每日一题Day97】LC1828统计一个圆中点的数目 | 模拟
思路:双重循环计算每个点到圆点的距离,如果小于等于半径,则证明在圆内
59 0
PTA 7-1 打印三角形拼图 (15 分)
一个正方形可以用两个等边直角三角形拼出来。给定正方形的边长、两个三角形和对角线所用的符号,请你打印出这两个三角形拼出的正方形。
101 0
每日三题-最大正方形 、完全平方数 、目标和
每日三题-最大正方形 、完全平方数 、目标和
62 2
每日三题-最大正方形 、完全平方数 、目标和
[解题报告]【第16题】给定 n,打印一个直角边为 n 的等边直角三角形
[解题报告]【第16题】给定 n,打印一个直角边为 n 的等边直角三角形
【PTA】7-3 判断上三角矩阵 (15分)
【PTA】7-3 判断上三角矩阵 (15分)
2147 0