时间限制:1000ms
单点时限:1000ms
内存限制:256MB

描述

王胖浩有一个三角形,三边长为a,b,c。他有特殊的能力,能增加三条边的边长,增加的总长度不能超过l。

他想通过合理地使用他的特殊能力,使得三角形的面积最大。

输入

第一行一个整数T,表示测试数据个数。

以下T行,每行一个四个整数a,b,c,l。

数据范围:

1<=T<=104, 1<=a,b,c<=106, 0<=l<=106

输出

输出T行,每行一个实数,表示三角形的面积。要求相对误差不能超过10-9。

样例输入

1
2 3 3 3
样例输出
5.8216152143
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
double num[3];
bool cmp(double a,double b){return a<b;
}
int main()
{int t,i,j,k;double l;scanf("%d",&t);while(t--){scanf("%lf%lf%lf%lf",&num[0],&num[1],&num[2],&l);sort(num,num+3,cmp);if(num[1]-num[0]>=l){num[0]+=l;}else if(num[2]-num[1]+num[2]-num[0]>=l){num[0]=num[1]=(num[0]+num[1]+l)/2.0;}else {num[0]=num[1]=num[2]=(num[0]+num[1]+num[2]+l)/3.0;}double p=(num[0]+num[1]+num[2])/2.0;printf("%.10f\n",sqrt(p*(p-num[0])*(p-num[1])*(p-num[2])));}return 0;
}

hihocoder王胖浩与三角形【海伦公式+分类讨论】相关推荐

  1. hihoCoder挑战赛16 王胖浩与三角形

    题目1 : 王胖浩与三角形 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能超过 ...

  2. HihoCoder 1245:王胖浩与三角形 三角形边长与面积

    #1245 : 王胖浩与三角形 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能 ...

  3. HIHO#1245 : 王胖浩与三角形

    <span style="color: inherit; line-height: 1.1; font-family: 'Helvetica Neue', Helvetica, Ari ...

  4. hihocoder1245 王胖浩与三角形

    #1245 : 王胖浩与三角形 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能 ...

  5. hihoCoder挑战赛16 A—— 王胖浩与三角形

    思路:开始没有思路,想到了用三边乱搞(每条边按照比例增加)然而样例都无法通过.后来想到了海伦公式sqrt((a+b+c)(a+b-c)(b+c-a)(a+c-b))/4,那么这样以来就是让这个三角形趋 ...

  6. hiho 挑战赛16 A.王胖浩与三角形

    水题 题意: 给你三角形的三条边,再给你一个长度L.你要增加三条边的长度,总的增加量是L,使得变大的三角形面积最大 数据范围: 边长<=10^6,L<=10^6 思路: 显然这种题感觉就是 ...

  7. HihoCoder 1246:王胖浩与环

    #1246 : 王胖浩与环 时间限制:6000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个环,环上有n个正整数.他有特殊的能力,能将环切成k段,每段包含一个或者多个数字. 对 ...

  8. hihoCoder #1246 王胖浩与环

    题目大意 $n$($1\le n\le 2000$)个正整数 $a_1, a_2, \dots, a_n$($a_i\le 5\times 10^7$)分布在一个圆环上. 定义 $b_k$ 为:将环上 ...

  9. hihocoder 1246 王胖浩与环

    题意: 给出一个环,环上有n(<=2000)个数字(<=5e7),然后将这个环分成1~n个连续序列,各个序列和之间的最大公因数. 题解: 我一开始想到的是二分,然后对于二分就会想怎么che ...

最新文章

  1. overflow超出显示_[CSS]text-overflow: ellipsis;什么时候可能不生效?
  2. 远程办公,团队如何高效沟通与协作
  3. 去掉Word2007中的软回车(从网页粘贴文字的一些编辑)
  4. 指针在c语言中的运用,怎么理解C语言中的指针,如何运用?
  5. RabbitMQ入门学习系列(二),单生产者消费者
  6. python canny函数_python库skimage 应用canny边缘探测算法
  7. docker 容器命令
  8. Uva 1630 折叠串
  9. 【转】Linux内存管理(最透彻的一篇)
  10. vmware挂载共享目录
  11. 終級方案之封USB設備必殺技
  12. 阿里王坚:万物互联网=云计算+大数据
  13. web服务器性能瓶颈,Web服务器性能瓶颈因素
  14. RTF转HTML(<div>标签)格式的方法(java)
  15. thinkpadt410接口介绍_联想t410配置参数详解
  16. vue3 ts版本深度拷贝功能推荐ts-deepmerge
  17. 操作系统教程(第6版) 预习笔记
  18. 案例:三个和尚(升级版)
  19. vue实现物流时间轴效果
  20. N2N组建虚拟局域网

热门文章

  1. win10:如何查看可用内存插槽
  2. Ansible(未完待续)
  3. react redux Reduc-saga实现(1) take put takeEvery createSagaMiddleware等
  4. CTF隐写常见套路归纳
  5. 怎么运行python外星人入侵_Python入门项目:外星人入侵
  6. 29、浏览器缓存的原理
  7. 什么是番茄工作法?如何使用番茄工作法?
  8. [人工智能-深度学习-5]:神经网络基础 - 生物神经系统与神经元细胞简介
  9. sql查询记录数大于1
  10. 社交类app 乱弹琴