UVA 10522 Height to Area(三角形已知高求面积)

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

这个题有公式。  用公式提交AC之后 才知道 是根据海伦公式推出来的。


设三边为 abc  三高为 mnp 则S = am/2 = bn/2 = cp/2 


则 a = 2s/m     b = 2s/n    c = 2s/p


海伦公式  S = sqrt(p*(p-a)*(p-b)*(p-c));     p = (a+b+c)/2   带进去就求出来了


(1)三角形存在的条件:
         中大高的倒数和>小高的倒数

(2)面积公式:
1/S=√[(1/m+1/n+1/p)(-1/m+1/n+1/p)(1/m-1/n+1/p)(1/m+1/n-1/p)]


#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdlib>
using namespace std;
int main (){
    int kase;
    scanf("%d",&kase);
    while(kase){
        double mm,nn,pp;
        double m,n,p;
        scanf("%lf%lf%lf",&mm,&nn,&pp);
        p = max(mm,nn);
        p = max(p, pp);
        m = min(mm,nn);
        m = min(m, pp);
        n = (mm + nn + pp) - m - p; // m n p  是递增的
        if(1/n + 1/ p <= 1/m){
            printf("These are invalid inputs!\n");
            kase--;
        }
        else{
            double s = sqrt((1/m+1/n+1/p)*(-1/m+1/n+1/p)*(1/m-1/n+1/p)*(1/m+1/n-1/p));
            s = 1/s;
            printf("%.3lf\n",s);
        }
    }
    return 0;
}


FreeRTOS --(15)信号量之概述 FreeRTOS 中使用信号量来做同步,信号量可以在任务中使用作为任务与任务间的同步,也可以在中断中使用(带 FromISR 的版本)中断与任务间的同步; 针对不同的应用场景,信号量分为两种: 1、二值信号量; 2、计数信号量; 1、二值信号量 1.1、Usage 顾名思义,二值信号量只有两个值:0 和 1;它用于简单场景下的任务与任务、中断与任务之间的同步,比如:一个任务,在等待某个资源到位后,才能够继续执行,在得到这个资源之前,它处于阻塞状态,假如一个中断来了,给出了这个资源,那么. 阅读详情

相关推荐

Langchain4j 文档处理实战:从加载到分割的完整流程解析

本文详细解析了使用Langchain4j进行文档处理的完整流程,涵盖从文档加载、解析到分割的核心步骤。通过实战代码示例,重点介绍了如何利用文档分割器将大文档切割为适合大语言模型处理的片段,并提供了参数调优与避坑指南,帮助Java开发者高效构建AI应用的数据处理基础。

smartcontract5的博客 520

UVA 10522 已知三高三角型面积

题意: 已知三高三角型面积 题解:没想到还要用到海伦公式。。。。 果断看题解。。。 设对应三边为a,b,c 面积S=1/2ax=1/2by=1/2cz a=2S/x b=2S/y c=2S/z 使用公式: S=√[m(m-a)(m-b)(m-c)] 其中 m=1/2(a+b+c) =S( 1/x + 1/y+1/z) m-a=S(1/y+1/z-1/x) m-b...

weixin_30672019的博客 175

Python学习24:中国古代数学问题——物不知数(Python123)

意思是说有一些物品,不知道有多少个,3个3个数的话,还多出2个;5个5个数则多出3个;7个7个数也会多出2个。题目为‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?现假设物品总数不超过n (n

weixin_60530224的博客 2万+

UVA 10522 Height to Area(知三角形三高面积

思路:海伦公式, AC代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int n; 6 scanf("%d",&n); 7 double ha, hb, hc, a, b, c; 8 wh...

weixin_30698297的博客 159

UVA 10522 Height to Area(已知三角形三高面积)

UVA 10522 Height to Area(已知三角形三高面积) http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=17&page=show_problem&problem=1463 题意:        给你一个三角形的三条高的长度,要你出该三角形面积. 可能存在非法输入.

code 1281

UVA 10522 Height to Area

一直三角形三个高,这个三角形面积。 我自己推的时候没耐心。。没推出来。。。百度后,发现 有公式。。。T T 。。。。贴一下。 设对应三边为a,b,c面积S=1/2ax=1/2by=1/2cza=2S/x b=2S/y c=2S/z 使用公式: S=√[m(m-a)(m-b)(m-c)]其中m=1/2(a+b+c) =

小媛在努力~ 1296

计算几何(三条高线长三角形面积) - Height to Area - UVA 10522

计算几何(三条高线长三角形面积) - Height to Area - UVA 10522 题意: 给定三角形的三条高的长度,计算三角形面积。给定三角形的三条高的长度,计算三角形面积。给定三角形的三条高的长度,计算三角形面积。 输入: 多组测试数据,多组测试数据,多组测试数据, 首行包括一个正整数T,表示不合法数据的组数,首行包括一个正整数T,表示不合法数据的组数,首行包括一个正整数T,表示不合法数据的组数, 当不合法输入的数量达到T时,停止输入。当不合法输入的数量达到T时,停止输入。当不合法输入的

njuptACMcxk的博客 986

UVa 10522 - Height to Area

给出三角形三边上的三条高ha,hb,hc,三角形面积 这个题一开始我就陷入错误的思路之中——把AB看成是圆的直径,则直角三角形的三个点都在圆上,还看出了相似,然后推了一阵,发现解决不了,然后参考了网上大神的题解,豁然开朗,设三边为a,b,c,共有以下方程: 0.5*a*ha=s;  0.5*b*hb=s;  0.5*c*hc=s;  l=0.5*(a+b+c);  s=sqrt(l*(l-

DC的ACM奋斗史 800

uva 10522 - Height to Area(几何)

题目链接:uva 10522 - Height to Area 海伦公式。 #include #include #include #include using namespace std; const double eps = 1e-9; int main () { int N, C = 0; double a, b, c; scanf("%d", &N);

不慌不忙、不急不躁 904

UVa 10522 - Height to Area

题目:一直三角形三条高,面积。 分析:计算几何。设面积为S,则三角形三边分别为:S/h1,S/h2,S/h3;利用海伦公式可以确定三边和S的关系,推导得:             S = 1/sqrt((1/h1+1/h2+1.h3)*(1/h1+1/h2-1/h3)*(1/h1+1/h3-1/h2)*(1/h2+1/h3-1/h1)); 注意:如果返回SubmissionErr,就认为是

小白菜又菜 1408

UVA 10522 - Height to Area(计算几何)

这题就海伦公式带进去就可以了。。 要注意的是,这题的样例,是输入n次错误的输入才停止。。,输入的可能是负数。 代码: #include #include #include #include using namespace std; const double eps = 1e-8; int t; double Ha, Hb, Hc; int dcmp(double x) {

Remilia's 982

UVa10522 - Height to Area(海伦公式)

THE SAMS' CONTEST Problem 3 Height to Area  Problem     It's an easygeometry problem. For any triangle ABC weknow that the height from A to the line BC (or it's extension) is Ha,

多看多听多总结 1013

UVA 11796 Dog Distance

这个题就是 对于两个折线,看谁能先走到 折点就按照那个时间走,

Shimmer_的专栏 783

UVA 11168 - Airport

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long typedef unsigned long long u

Shimmer_的专栏 742

UVa 10347 - Medians

这个题真是蛋疼。  自己推公式推了半年。 最后找了一个国家论文。 看了。 原来可以用一个公式就可以解决。 自己的知识面太窄了。 对于很多东西都不知道。 比如说 一个三角形的中线一定可以组成一个三角形(这个定理可以直接判断输入的三条线是否可以组成组成三角形)。 三条中线与面积的关系的公式 是由海伦公式推广得来的。 海伦公式是 :  p = a+b+c ; s = sqrt(p(p

Shimmer_的专栏 739

ZOJ 3806 Incircle and Circumcircle

又是计算几何的二分题。

Shimmer_的专栏 733

二维几何基础(模板)

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long typedef unsigned long long u

Shimmer_的专栏 698

UVA 10566 Crossed Ladders

这个题纠结了好长时间了。

Shimmer_的专栏 686
上一篇: UVA 10566 Crossed Ladders
下一篇: UVA 10652 - Board Wrapping(求凸包)
Shimmer_
博客等级 码龄12年 28粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值