0
点赞
收藏
分享

微信扫一扫

Explore Track of Point HDU - 5476

​​http://acm.hdu.edu.cn/showproblem.php?pid=5476​​

证明转载:

Explore Track of Point HDU - 5476_#define

 

对上述证明中三角形相似的补充:

弦切角定理:弦切角的度数等于它所夹的弧所对的圆心角度数的一半。等于它所夹的弧的圆周角度数。

Explore Track of Point HDU - 5476_#define_02

如图:AC是⊙O的切线,PQ为⊙O的弦,∴弦切角∠ACP=∠PQC=1/2∠COP

证明:由图可知:OP=OC     ∴∠OPC=∠OCP=1/2(180°-∠POC)=91°-∠AQC

∴∠AQC=90°-∠OCP=∠ACP

 

推论

1.任意​​凸四边形​​​ABCD,必有AC·BD≤AB·CD+AD·BC,当且仅当ABCD​​四点共圆​​时取等号。

2.托勒密定理的​​逆定理​​同样成立:一个凸四边形两对对边乘积的和等于两条对角线的乘积,则这个凸四边形内接于一圆

#include <bits/stdc++.h>
using namespace std;
#define PI acos(-1.0)

double getdis(double x1,double y1,double x2,double y2)
{
return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}

int main()
{
double xa,ya,xb,yb,xc,yc;
double ab,ac,bc;
double a,a2,r,h,ans;
int t,cas;
scanf("%d",&t);
for(cas=1;cas<=t;cas++)
{
scanf("%lf%lf%lf%lf%lf%lf",&xa,&ya,&xb,&yb,&xc,&yc);
ab=getdis(xa,ya,xb,yb);
ac=getdis(xa,ya,xc,yc);
bc=getdis(xb,yb,xc,yc);
a=acos((ab*ab+ac*ac-bc*bc)/(2.0*ab*ac));
a2=a/2.0;
r=tan(a2)*ac;
h=cos(a2)*ac;
ans=(PI-a)/(2.0*PI)*(2.0*PI*r)+h;
printf("Case #%d: %.4f\n",cas,ans);
}
return 0;
}

 


举报

相关推荐

0 条评论