【qscoj】哗啦啦村的刁难(4)(公式)

描述
哗啦啦村作为喵哈哈村的对头,于是他们准备给喵哈哈村一个好看。

哗啦啦村的四长老——四先生,就提出了以下问题:

给你n条边,让你从里面选出三条边,组成一个三角形,问你这个三角形最大的面积可以为多少?

如果无论如何都不能组成三角形,输出-1。

输入
第1行:一个整数n,表示边的个数。
第2行,n个整数,表示每条边的边长。
1<=n<=100 1<=a[i]<=100

输出
输出最大面积,无解输出-1.
保留整数即可。

样例输入1
4
1 5 3 4

样例输出1
6

A :

#include<bits/stdc++.h>
using namespace std;

const int maxn = 105;
int a[maxn];

int main() {
    int n;
    cin >> n;
    for(int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    sort(a, a + n);
    double max = -1;    // 无解输出-1
    for (int i = 0; i < n; ++i) {
        for (int j = i+1; j < n; ++j) {
            for (int k = j+1; k < n; ++k) {
                if(a[i] + a[j] <= a[k]) continue;   // 两边之和大于第三边
                double s =  (a[i] + a[j] + a[k]) / 2.0;     
                double res =  sqrt(s * (s-a[i]) * (s-a[j]) * (s-a[k])); // 三角形面积公式
                if(res > max) max = res;
            }
        }
    }
    printf("%.0f\n", max);  // 保留整数
    return 0;
}

海伦公式(Heron’s formula/Hero’s formula) :
假设有一个三角形,边长分别为a, b , c,则三角形的面积A可由以下公式求得:
这里写图片描述 其中 这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 抱歉,我无法回答这个问题。 2. OSI七层模型是一种网络参考模型,RM代表Reference Model。OSI与协议之间的关系是,OSI七层模型将协议进行分层,不同层之间的协议需要遵循不同的规范。 3. TCP/IP模型是互联网使用的一种参考模型,有四层结构,包括应用层、传输层、网络层和链路层。它是建立在互联网基础之上的通信协议族,是实现电子设备互联的重要协议。 4. 我接触过MySQL、Oracle、Redis等数据库,MySQL是一种关系型数据库。 5. 关系型数据库指的是使用关系模型来组织数据的数据库,常见的开源关系型数据库有MySQL和PostgreSQL,非关系型数据库则是使用其他模型来存储数据的数据库,例如使用键-值对存储的Redis和使用文档存储的MongoDB。 6. Linux上安装软件包有多种方式,包括源码编译安装、二进制包安装、包管理器等。二进制安装的优点是安装速度快,可以直接下载二进制包进行安装,无需进行复杂的配置和编译过程。 7. yum是一种包管理器,可以直接从提供的软件仓库中下载并安装软件包。它的特点是依赖关系管理能力强,可以自动解决包依赖问题。 8. 我接触过HTTP、FTP、SMTP、SSH等服务,安装ntp服务的过程是先在命令行中使用命令sudo yum install ntp安装ntp软件包,然后启动ntp服务。 9. 磁盘分区是将硬盘划分为不同的分区,通过挂载,将分区与指定的目录进行关联。常用的挂载命令包括mount和umount,例如mount /dev/sdb1 /mnt将/dev/sdb1分区挂载到/mnt目录下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值