某天lililalala正在玩一種奇妙的吃雞遊戲--因為在這個遊戲裡會同時有兩個圓形安全區(他們可能相交)。
lililalala覺得求圓的面積並太簡單了,所以想把這個問題公升級一下。
現在在三維空間裡有 2 個球形安全區,分別用四元組 和 表示,其中 r1、r2 r1、r2表示球半徑, (x1,y1,z1) (x1,y1,z1)和 (x2,y2,z2) (x2,y2,z2)表示球心
lililalala想知道安全區的總體積是多少?即求這兩個球的體積並。
輸入有兩行。第一行四個實數 x1,y1,z1,r1 x1,y1,z1,r1--第乙個球的球心座標和半徑。
第二行四個實數 x2,y2,z2,r2 x2,y2,z2,r2--第二個球的球心座標和半徑。
保證所有輸入的座標和半徑的範圍都在 [−100,100] [−100,100] 內。
輸出一行乙個實數--表示兩個球的體積並,你的答案被認為正確,當且僅當絕對誤差不超過 10−6 10−6。示例1
0 0 0 12 0 0 1
8.3775804示例2
0 0 0 10 0 0 0.5
4.1887902
#include #define ll long long
const double pi = acos(-1);
using namespace std;
int main()
else if (dis+r1<=r2)//重合
else if(dis+r2<=r1)
else //相交
printf("%.7f\n",sum-ans);
return 0;
}
牛客練習賽41
相當於求n個點,已知n條邊,組成各個連通分塊,每個連通分塊有乙個和值,求出最大的幾個和值。用並查集給邊建立聯絡,計算連通塊和是 先找到那個fa點 再給該點加值。include include include include include includeusing namespace std typ...
牛客練習賽 41
a.博弈 我們發現 要麼一次拿光,要麼 m 為 1 否則都贏不了 b.dp 思路,因為有負數,如果全負數,最小為 666 300 近似於 21w 所以把錨點設為 210000,dp i j 代表 前 i 個數字 湊夠數字 j 的方案數,dp i j dp i 1 j dp i 1 j a i 但是 ...
牛客網練習賽 41
a 中文題意,直接說思路 可以知道在n m 0 的時候可以全部翻轉完,但當第一次翻轉完之後b使壞一次就永遠也翻不到,所以只有當n m的時候是yes其他都是no include using namespace std int main b 思路 簡單的計數dp,可以設 dp i j 表示的是你在第i輪...