HDU5120(平面几何)
来源:互联网 发布:计算机不编程还能干吗 编辑:程序博客网 时间:2024/04/30 00:03
求两个圆环的相交面积。
容易知道相交面积=两个大圆相交面积+两个小圆相交面积-2*大圆和小圆相交面积。
#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<iostream>using namespace std;double x1,ya,x2,y2;double dis;double s1,s2,s3;double R,r;double sov(double R,double r) { if(dis>=r+R) return 0.0; if(dis==0||dis<=R-r) { return acos(-1)*r*r; } double x=(R*R-r*r+dis*dis)/2.0/dis; double y=(r*r-R*R+dis*dis)/2.0/dis; double seta1=2*acos(x/R); double seta2=2*acos(y/r); double ans=seta1*R*R/2.0+seta2*r*r/2.0; double h=sqrt(R*R-x*x); ans-=dis*h; return ans;}int main(){ int t; int kase=0; scanf("%d",&t); while(t--) { scanf("%lf%lf",&r,&R); scanf("%lf%lf%lf%lf",&x1,&ya,&x2,&y2); dis=sqrt((x1-x2)*(x1-x2)+(ya-y2)*(ya-y2)); s1=sov(R,R); s2=sov(R,r); s3=sov(r,r); double tot=s1-2*s2+s3; printf("Case #%d: ",++kase); printf("%.6f\n",tot); } return 0;}
0 0
- HDU5120(平面几何)
- hdu5120 Intersection(平面几何+圆相交面积)
- hdu5120
- 平面几何
- hdu5120——Intersection
- HDU5120(几何)
- 二维平面几何
- Vijos1697平面几何
- 初中平面几何
- 平面几何基础
- HDU5120 Intersection(求 圆交)
- hdu5120 两圆环相交 数学题
- HDU5120 (容斥原理)
- HDU5120:Intersection(圆环相交)
- hdu5120(相交环面积)
- HDU5120 Intersection 【求圆的面积交】
- HDU5120 Intersection(求两圆环相交)
- 平面几何 直线与角
- hdu4751Divide Groups 二分图判断
- HDU5119(DP)
- 复习
- 生活
- 从道德经中学习java
- HDU5120(平面几何)
- Swift学习笔试19——扩展(Extension)
- nyoj 擅长排列的小明 19 (dfs)
- linux修改/显示/设置环境变量
- xcode6+ios8最新真机调试教程
- 从道德经中学习java
- A. Asphalting Roads
- UESTC 87 Easy Problem With Numbers
- Spring中BeanCreationException异常::0formul unbound in pointcut