Triangle

Time Limit: 1000ms
Memory Limit: 65536KB

64-bit integer IO format: %lld      Java class name: Main

Special Judge

如图的三角形,三边边长分别为AB=a,BC=b,CA=c,并且AA’/AB=p1,BB’/BC=p2,CC’/CA=p3;

现在对于给定的a,b,c和p1,p2,p3,请你计算图中红黄绿三部分的面积。

 

Input

第一行为一个T 表示测试数据组数 (T<=1000)

接下来的T行

每行先是3个整数 依次为 a b c  0<a,b,c<=10000  保证构成三角形

然后是3个两位小数 依次为p1 p2 p3  0.00<p1,p2,p3<0.50

 

Output

对于每组数据 输出一行 分别为红色 黄色 绿色部分的面积

中间用空格隔开 行末没有空格

答案误差在0.0001内即可

 

Sample Input

2
4 4 4 0.25 0.25 0.25
10 15 20 0.2 0.3 0.4

Sample Output

2.13175484 0.39970403 4.39674436
14.68004304 7.41819926 50.52019544 官方题解:

H. Triangle

这是一道不太常见的几何题,因为需要添加辅助线才能简化推导过程,当然用正弦定理和余弦定理来回倒角和边也是可以的(此题对精度的要求不高,而且是Special Judge),不过会很麻烦的 = =||

辅助线的构造方法:作B’D∥A’C并设BD=x,x可由△AA’O∽△ADB’以及△BB’D∽△BCA’推出,这样AD的长度也是可求的!下面第一个图中的黄色部分的面积就可利用相似比的平方求出,i.e. 对于△ADB’的面积,它的高与△ABC的高也存在相似比关系,这样就可以推导出△AA’O的面积,原图中其他两块黄色部分的面积可利用类似的方法求出,黄色面积的和即为S(黄)

对于绿色部分的面积,S’(绿)=△ABB’—(两块黄色的面积),这里△ABB’与,△ADB’等高的,只是底不同而已~~~。类似地可以求得三块绿色面积的总和

最后红色部分的面积S(红)=S(总)—S(绿)—S(黄)

总的面积可以用海伦公式求解

BNU27932——Triangle——————【数学计算面积】的更多相关文章

  1. 实验四 (1):定义一个形状类(Shape)方法:计算周长,计算面积

    (1)定义一个形状类(Shape)方法:计算周长,计算面积子类:矩形类(Rectangle) :额外的方法:differ() 计算长宽差圆形类(Circle)三角形类(Triangle)正方形类(Sq ...

  2. 理工科应该的知道的C/C++数学计算库(转)

    理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...

  3. Shell之数学计算

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 数学计算是Shell中比较常用的一种操作,  但是因为shell中所有的变量都默认为字符串, ...

  4. Shell脚本笔记(三)shell中的数学计算

    shell中的数学计算 一.使用方括号 #!/bin/bash a= b= c= res=$[$a * ($c-$b)] echo $res 二.使用(()) +)) ((i=+)) b=$((-*) ...

  5. C语言中几个常用数学计算函数ceil(), floor(), round()的用法

    最近在实现算法的过程中,遇到了使用几个数学计算函数,感觉挺有意思,就记下来 方便以后使用. ceil(x)返回不小于x的最小整数值(然后转换为double型). floor(x)返回不大于x的最大整数 ...

  6. BZOJ 5334--[Tjoi2018]数学计算(线段树)

    5334: [Tjoi2018]数学计算 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 220  Solved: 147[Submit][Status ...

  7. 【BZOJ5334】数学计算(线段树)

    [BZOJ5334]数学计算(线段树) 题面 BZOJ 洛谷 题解 简单的线段树模板题??? 咕咕咕. #include<iostream> #include<cstdio> ...

  8. [LeetCode] 数学计算模拟类问题:加法,除法和幂,注意越界问题。题 剑指Offer,Pow(x, n) ,Divide Two Integers

    引言 数学计算的模拟类题目,往往是要求实现某种计算(比如两数相除),实现的过程中会有所限定,比如不允许乘法等等. 这类题目首先要注意计算过程中本身的特殊情况.比如求相除,则必须首先反映过来除数不能为0 ...

  9. Math类的数学计算功能

    //Math类的数学计算功能 public class MathTest { public static void main(String[] args) { /*----------下面是三角运算- ...

随机推荐

  1. C# 操作 MongoDB

    今项目使用Mongodb,C#操作MongoDB使用MongoDB.Driver.dll库(Nuget),写了个小Demo,如下: using System; using System.Collect ...

  2. WPF程序开机速度策略

    WPF程序开机速度慢是一个很讨厌的问题.具体分析后,可能有以下问题 1.在主线程中加载图像导致 2.初始化各种UserControl导致 3.加载类库导致

  3. 如何将Sql server数据库中的模型图转化到Word中--并能够查看字段的属性信息

    1. 在Sql server数据库中创建数据库的模型图 -- Database Diagrams 2. 控制面板--管理工具--ODBC数据源链接--创建一个Sql server的数据源链接 3. 打 ...

  4. 使用 wget 下载需要 cookie 认证的网站

    .使用火狐,安装 Export Cookies 插件 2.登录网站,点菜单"工具-Export Cookies..",保存 cookies.txt 到自己的文件夹 3.把 cookies.t ...

  5. Node简单服务器开发

    运用的知识:http,fs,get,post 接口定义:/user?act=reg$user=aaa&pass=bbb后台返回格式:{"ok":false,"ms ...

  6. HTML4.0 需要掌握的主要内容

    常用标签: <html></html> 创建一个HTML文档 <head></head> 设置文档标题和其它在网页中不显示的信息 <title&g ...

  7. OC自定义文档头部注释

    1.创建文件 IDETemplateMacros.plist 2.向文件里添加内容 具体内容 // 文 件 名:___FILENAME___ // // 版权所有:___COPYRIGHT___ // ...

  8. IT职场中外企面试最爱提的问题

    1.请介绍一下你自己. 这是外企常问的问题.一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有,其实,外企最希望知道的是求职者能否胜任工作,包括:最强的技能.最深入研究的知识 ...

  9. loj #6235. 区间素数个数

    #6235. 区间素数个数 题目描述 求 1∼n 1\sim n1∼n 之间素数个数. 输入格式 一行一个数 n nn . 输出格式 一行一个数,表示答案. 样例 样例输入 10 样例输出 4 样例解 ...

  10. Python——变量的引用和函数的参数和返回值的传递方式

    变量的引用 在python中,所有的变量都是指向地址,变量本身不保存数据,而是保存数据在内存中的地址.我们用下面的程序来理解: a = 10 print(id(a)) a = 11 print(id( ...