码迷,mamicode.com
首页 > 其他好文 > 详细

UVa 11524 - InCircle

时间:2015-05-19 16:37:56      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:

题目:已知一个三角形内切圆的半径r,以及它分三条边的逆时针比例,求三角形面积。

分析:计算几何。利用面积公式联立等式计算即可,这三边为k*a,k*b,k*c。

            根据内切圆计算面积S△ABC = r*k(a+b+c)/ 2;

            根据海伦公式计算面积S△ABC = sqrt(p(p-a)(p-b)(p-c)) { 其中p = k (a+b+c)/ 2 };

            解出k,求出面积即可。

               技术分享

说明:╮(╯▽╰)╭。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>

using namespace std;

int main()
{
	int t;
	while (cin >> t)
	while (t --) {
		double r,m1,n1,m2,n2,m3,n3,k,a,b,c;
		cin >> r >> m1 >> n1 >> m2 >> n2 >> m3 >> n3;
		a = 1.0;
		b = n1*(m2+n2)/(m2*(n1+m1));
		c = m1*(m3+n3)/(n3*(n1+m1));
		k = r*sqrt((a+b+c)/(a+b-c)/(a+c-b)/(b+c-a));
		printf("%.4lf\n",(a+b+c)*r*k);
	}
    return 0;
}


UVa 11524 - InCircle

标签:

原文地址:http://blog.csdn.net/mobius_strip/article/details/45845211

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!