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     while(~scanf("%lf %lf %lf",&ha,&hb,&hc))
 9     {
10         a = 2.0 / ha;
11         b = 2.0 / hb ;
12         c = 2.0 / hc;
13         if(a <= 0.0 || b <= 0.0 || c <= 0.0 || a >= b+c || b >= a+c || c >= a+b )
14         {
15             printf("These are invalid inputs!\n");
16         }
17         else {
18             double p = (a + b + c)*0.5;
19             double s = p * (p - a)*(p - b)*(p - c);
20             printf("%.3f\n",sqrt(1.0 / s));
21         }
22     }
23     return 0;
24 }

原文地址:https://www.cnblogs.com/Carered/p/11406630.html

时间: 2024-10-10 21:48:23

UVA 10522 Height to Area(知三角形三高求面积)的相关文章

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

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

uva 10065 (凸包+求面积)

链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=1006 Problem A Useless Tile Packers Input: standard input Output: standard output Yes, as you have apprehended the Useless Tile Pac

poj2546Circular Area(两圆相交面积)

链接 画图推公式 这两种情况 都可用一种公式算出来 就是两圆都求出圆心角 求出扇形的面积减掉三角形面积 #include <iostream> using namespace std; #include<cmath> #include<iomanip> #include<algorithm> int main() { double d,t,t1,s,x,y,xx,yy,r,rr; while(cin>>x>>y>>r) {

poj 1265 Area (Pick定理+求面积)

链接:http://poj.org/problem?id=1265 Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4969   Accepted: 2231 Description Being well known for its highly innovative products, Merck would definitely be a good target for industrial espionag

zoj 1010 Area 判断线段是否相交(把线段扩充一倍后 好处理) + 多边形求面积

题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=10 题意:  给定n个点的, 如果这n个点不能形成多边形 以及 n < 3 时, 输出, "Impossible",  否则 输出 多边形的面积. 分析: 这题主要在 分析  n 个点 是否形成 多边形.  枚举 每条边,  看 这条边 是否与 其他 n - 3 条边 不规范相交. (当处理 其他 边时, 我们采用 扩充线段一倍) 代码如下: con

已知三点求圆心与半径

已知三点求圆心与半径  [email protected] http://blog.csdn.net/kezunhai 在计算机图像图形学中,经常会用到求圆心或圆半径的情况,本文介绍一种已知三个点求圆心和圆半径的方法(当然三个点不能共线,共线的三个点不能构成圆). 原理:相互连接三个点,选取其中的任意两条直线,通过对这两条直线的中心做垂线,两条垂线的交点就是圆心,以此点为圆心,以此点到任意一点的距离为半径画圆. 三个点分别计为pt1, pt2, pt3:取直线p1p2和p1p3(也可以取其他直线

poj 1654 Area (多边形求面积)

链接:http://poj.org/problem?id=1654 Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14952   Accepted: 4189 Description You are going to compute the area of a special kind of polygon. One vertex of the polygon is the origin of the orth

hdu 1071 The area 高斯消元求二次函数+辛普森积分

构造系数矩阵,高斯消元求解二次函数,然后两点式求直线函数,带入辛普森积分法无脑AC... #include<cstdio> #include<queue> #include<algorithm> #include<cstring> #include<vector> #include<cmath> using namespace std; struct node { double x,y; }p[4]; double g[10][10]

已知三角形三边长求面积

不知道有没有问题…… #include<stdio.h> #include<math.h> #include<conio.h> float areatri(float a,float b,float c); float main() { float a,b,c; float s; char d; loop: printf("输入三角形三边长,以空格隔开\n"); scanf("%f %f %f",&a,&b,&am