poj 2546 求2個圓相交的面積
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define PI acos(-1.0) using namespace std; double solve(double x1,double y1,double x2,double y2,double r1,double r2) { double d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); if(d>r1+r2) return 0; if(r1>=d+r2) return PI*r2*r2; if(r2>=d+r1) return PI*r1*r1; double angle1=acos((r1*r1+d*d-r2*r2)/(2*r1*d)); double angle2=acos((r2*r2+d*d-r1*r1)/(2*r2*d)); return angle1*r1*r1+angle2*r2*r2-r1*d*sin(angle1); } int main() { double x1,y1,x2,y2,r1,r2; while(~scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&r1,&x2,&y2,&r2)) { printf("%.3f\n",solve(x1,y1,x2,y2,r1,r2)); } }
相關推薦
poj 2546 求2個圓相交的面積
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #defi
如何求兩個矩形相交面積
如何求兩個相交矩形的交集的面積? 就是交接的公共部分面積? class Rectangle { Point min; Point max; } Rectangle rect1, rect2; Rectangle rect; rect
java求兩個圓相交座標
最近由於專案需要,根據兩個圓函式求出相交的座標。實現程式碼如下,另感謝兩圓求交點演算法實現Java程式碼,雖然他所貢獻的程式碼中存在問題,但仍有借鑑意義。 1.兩個圓相交的數學求法 在中學數學中我們
【數學】求兩個圓的相交部分的面積
//求兩圓相交部分面積 struct Circle{ double x,y; double r; }A,B,C,D; double calArea(Circle c1, Circl
HDU 5120 Intersection 求兩圓相交面積模板
這題容斥原理求覆蓋面積就行 #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algori
Gym-101673: A Abstract Art (模板,求多個多邊形的面積並)
tor rac -s define its -1016 truct std opera 手抄碼板大法。 #include<bits/stdc++.h> using namespace std; #define mp make_pair typedef
17.零起點學算法12——求2個日期之間的天數
2個 include std ret class %d style 17. amp #include<stdio.h> int main() { int n1,m1,d1,n2,m2,d2,s; while(scanf("%d-%d-%d %d
18.零起點學算法13——求2個時間之間的分鐘數
eof urn ret include amp turn 算法 scanf scan #include<stdio.h> int main() { int h1,m1,h2,m2,s; while(scanf("%d:%d %d:%d",&am
字串處理演算法(六)求2個字串最長公共部分
基礎演算法連結快速通道,不斷更新中: 整型陣列處理演算法部分: 整型陣列處理演算法(一)按照正態分佈來排列整型陣列元素 整型陣列處理演算法(二)檔案中有一組整數,要求排序後輸出到另一個檔案中 整型陣列處理演算法(三)把一個數組裡的所有元素,插入到另一個數組的指定位置 整型陣列
多邊形與圓相交面積
HDU2892求多邊形與圓相交面積 Problem Description 小白最近被空軍特招為飛行員,參與一項實戰演習。演習的內容是轟炸某個島嶼。。。 作為一名優秀的飛行員,任務是必須要完成的,當然,憑藉小白出色的操作,順利地將炸彈投到了島上某個位置,可是長官更關心的是,小白投擲的炸彈到底
hdu 5120 Intersection(兩圓相交面積)(模板)
Intersection 題目連結: 解題思路: 在紙上畫畫圖,不難發現,根據容斥定理:所要求的面積為兩外環的交集(ans1)-外環和內環的交集(ans2*2,對稱)+兩內環的 交集(多減去的部分,
mysql求2個時間的時間差,mysql求絕對值
記錄2個mysql函式 1 求2個時間的時間差 TIMESTAMPDIFF(DAY,'2017-03-01','2016-03-05') 其中DAY可以換成月份,年,秒 2 求絕對值
PAT 1029. Median (25) 求2個排序陣列的中位數——剔除法
/************************* 題意: 求2個排序陣列的中位數 ************************/ /*********************** 剔除法,以求第幾大元素的角度去看 例如7個元素,則第4大的元素就是中位數。 那麼只要陣
計算幾何專題(計算兩圓相交面積)
There are two circles in the plane (shown in the below picture), there is a common area between the
計算兩圓相交面積
兩圓相交分如下集中情況:相離、相切、相交、包含。 設兩圓圓心分別是O1和O2,半徑分別是r1和r2,設d為兩圓心距離。又因為兩圓有大有小,我們設較小的圓是O1。 相離相切的面積為零,程式碼如下: double d = sqrt((a.x-b.x)*(a.x-b.x)
poj 2420 求n個點的費馬點 隨機演算法解決
還是跟那題poj 1379 run away一樣的做法 改一下最優的方法(到n個點的距離之和)就好了 View Code //求n邊形的費馬點//即找到一個點使得這個點到n個點的距離之和最小#in
hdoj Intersection 5120 (數學計算幾何) 求兩個相交圓的面積
Intersection Time Limit: 4000/4000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 1643 Accepted Submis
HDU 5120 Intersection (求圓環相交面積)
ifd endif cstring pen syn %d nbsp efi ase 題意:給定圓環的內徑r和外徑R,以及2個相同圓環的圓心,求兩個圓環的相交面積。 思路: S = A大B大 - A大B小 - A小B大 + A小B小。(A表示A環,大表示大圓,B同)
兩圓相交求面積 hdu5120
-c ace pes eno script inpu common area time 轉載 兩圓相交分如下集中情況:相離、相切、相交、包含。 設兩圓圓心分別是O1和O2,半徑分別是r1和r2,設d為兩圓心距離。又因為兩圓有大有小,我們設較小的圓是O1。 相離相切的面積
求兩圓相交的面積
一個無窮大的花園,花園中修建了兩個澆水噴頭,每個噴頭可以給以它中心的一定距離內的花澆水。請問兩個噴頭可以給多大面積的花園澆水? package step1; public class Task { public double solve(double x1, double y1, dou