题目链接:
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;
}