蓝书几何训练之UVA 11524 InCircle(海伦公式)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36172505/article/details/82769491

题目链接:
Uva-11524

题目大意:
△abc的内切圆半径把三角形的三边划分成m1:n1,m2:n2,m3:n3的比例。给定内切圆半径r,求△abc面积

解题思路:
此题需要用到海伦公式求解, 然后联立内切圆计算面积S△ABC = r*k(a+b+c)/ 2;

AC代码:

#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std;

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

猜你喜欢

转载自blog.csdn.net/qq_36172505/article/details/82769491
今日推荐