首页 > 其他 > 详细

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

时间:2015-03-27 22:15:16      阅读:264      评论:0      收藏:0      [点我收藏+]

这题就海伦公式带进去就可以了。。

要注意的是,这题的样例,是输入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 (fabs(x) < eps) return 0;
    else return x < 0 ? -1 : 1;
}

int main() {
    scanf("%d", &t);
    while (t) {
        scanf("%lf%lf%lf", &Ha, &Hb, &Hc);
        double a = 2 / Ha, b = 2 / Hb, c = 2 / Hc;
        double p = (a + b + c) / 2;
        double tmp = p * (p - a) * (p - b) * (p - c);
        if (dcmp(Ha) <= 0 || dcmp(Hb) <= 0 || dcmp(Hc) <= 0 || dcmp(tmp) <= 0) {
            t--;
            printf("These are invalid inputs!\n");
            continue;
        }
        double ans = 1.0 / sqrt(tmp);
        printf("%.3f\n", ans);
    }
    return 0;
}


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

原文:http://blog.csdn.net/accelerator_/article/details/44682365

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!