zoukankan      html  css  js  c++  java
  • codeforce--600D

    题意:求相交圆的面积。借鉴大神代码,精度超高。

     1 #include <fstream>
     2 #include <iostream>
     3 #include <string>
     4 #include <complex>
     5 #include <math.h>
     6 #include <set>
     7 #include <vector>
     8 #include <map>
     9 #include <queue>
    10 #include <stdio.h>
    11 #include <stack>
    12 #include <algorithm>
    13 #include <list>
    14 #include <ctime>
    15 #include <memory.h>
    16 #include <ctime>
    17 #include <assert.h>
    18 
    19 #define y1 aasdfasdfasdf
    20 
    21 #define eps 1e-16
    22 #define M_PI 3.141592653589793
    23 const int N = 200005;
    24 using namespace std;
    25 
    26 long double x1,y1,x2,y2,r1,r2;
    27 
    28 long double gd(long double x1,long double y1,long double x2,long double y2)
    29 {
    30     return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    31 }
    32 
    33 long double solve_cos(long double a,long double b,long double c)
    34 {
    35     return acos((a*a+b*b-c*c)/(2*a*b));
    36 }
    37 
    38 long double cut(long double ang,long double r)
    39 {
    40     long double s1,s2;
    41     s1=ang*r*r/2;
    42     s2=sin(ang)*r*r/2;
    43     return s1-s2;
    44 }
    45 
    46 long double solve()
    47 {
    48     if (r1<r2)
    49     {
    50         swap(x1,x2);
    51         swap(y1,y2);
    52         swap(r1,r2);
    53     }
    54     long double cd=gd(x1,y1,x2,y2);
    55     if (cd+r2<=r1+eps)
    56         return r2*r2*M_PI;
    57     if (cd>=r1+r2-eps)
    58         return 0;
    59     long double ang1=solve_cos(cd,r1,r2);
    60     long double ang2=solve_cos(cd,r2,r1);
    61     return cut(ang1*2,r1)+cut(ang2*2,r2);
    62 }
    63 
    64 int main()
    65 {
    66     cin>>x1>>y1>>r1;
    67     cin>>x2>>y2>>r2;
    68     cout.precision(12);
    69     cout<<fixed<<solve()<<endl;
    70     return 0;
    71 }
    View Code
  • 相关阅读:
    涉猎
    linq to sql中的自动缓存(对象跟踪)
    Java的起源和发展
    Java为什么需要保留基本数据类型
    JDK各版本新增的主要特性
    【转】整理:著名软件是使用什么语言写的?
    Struts2框架学习
    json格式
    sqlserver开窗函数改造样例
    说一下这次的求职经历。
  • 原文地址:https://www.cnblogs.com/ITUPC/p/5002863.html
Copyright © 2011-2022 走看看