InCircle - UVa 11524 几何

来源:互联网 发布:如何注册新网域名 编辑:程序博客网 时间:2024/05/16 14:55

题意:给你三角形中内切圆半径和边的比例,求三角形面积。

思路:因n1=m2,n2=m3,n3=m1设a=1则可知其他边的大小。S=(a+b+c)/2*r=sqrt(p*(p-a)*(p-b)*(p-c))设实际的边长为k*a,可得k=r*p/sqrt(p*(p-a)*(p-b)*(p-c))。

AC代码如下:

#include<cstdio>#include<cstring>#include<cmath>using namespace std;int main(){    int T,t;    double r,m1,m2,m3,n1,n2,n3,a,b,c,k,p,ans;    scanf("%d",&T);    for(t=1;t<=T;t++)    {        scanf("%lf%lf%lf%lf%lf%lf%lf",&r,&m1,&n1,&m2,&n2,&m3,&n3);        a=1;        b=a*n2/(m2+n2)*(n3+m3)/m3;        c=a*m2/(m2+n2)*(n1+m1)/n1;        p=(a+b+c)/2;        k=p*r/sqrt(p*(p-a)*(p-b)*(p-c));        ans=k*p*r;        printf("%.4f\n",ans);    }}


0 0
原创粉丝点击