POJ 1927 Area in Triangle G++几何没掌握

xiaoxiao2021-02-28  97

#include <iostream> #include <cstdio> #include <cmath> using namespace std; //英语 看博友好程序 抄博友程序 几何 没掌握 int main() { double pi=acos(-1.0); double a,b,c,d; int tag=0; while(1) { tag++; cin>>a>>b>>c>>d; if(a==0 && b==0 && c==0 && d==0) { break; } double L=a+b+c; double cosA=(b*b+c*c-a*a)/(2*b*c);//余弦定理 背 double S=0.5*b*c*(sqrt(1-cosA*cosA));//正弦定理 背 double r=(S*2.0)/L;//背 double ans; if(d>L) { ans=S; }else if(2*pi*r>=d) { ans=(d/(2*pi))*(d/(2*pi))*pi; }else { double t=(L-d)/(L-2*pi*r);//三角形周长减三角形内切圆周长 的比例 double rr=r*t; ans=S-S*t*t+pi*rr*rr; } printf("Case %d: %.2f\n", tag, ans); } return 0; }

 

转载请注明原文地址: https://www.6miu.com/read-52199.html

最新回复(0)