這是一道很值得反思的題目
首先關於double的基本用法就非常不熟悉
int + 0.0 = double int轉化成double的方法
printf 0.lf% 直接四捨五入輸出int
關於題目其實並不是個很難的題目
關鍵就是搜尋計算狀態
就是比較得出r的過程 //特判乙個r不用出來的答案直接當0計算
#include#include#include#include#include#includeusing namespace std;
#define inf 2147483647
#define pi 3.1415926535
int n,l,r;
int sx,sy,ex,ey;
bool vis[10];
double b[10],maxv=0.0;
struct nodedot[10];
double calr(double mx,double my,int i)
} return r; // 返回當前情況的最優r
}void dfs(double sum,int step)
for(int i=1;i<=n;i++)
}}int main()
Luogu P1378 油滴擴充套件
題目描述 在乙個長方形框子裡,最多有n 0 n 6 個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢才能放置下乙個油滴。那麼應該按照怎樣的順序在這n個點上放置油滴,才能使放置完畢後所有油滴佔據的總體積最大呢?不同...
luogu P1378 油滴擴充套件
題面傳送門 這道題資料這麼小,一看就是搜尋,只是細節比較多。我們思考怎麼通過乙個點的半徑確定另乙個點的半徑。兩點的歐幾里得距離顯然是 x1 x2 2 y 1 y2 2 sqrt x1 x2 2 y1 y 2 2 那麼減去那個點的半徑d dd,那麼可得式子為 x1 x2 2 y 1 y2 2 d sq...
洛谷 1378 油滴擴充套件
又有浮點數,桑心 話說lxt的14.0下取整竟然成了13?2333,害怕了。go to the problem 題目描述 在乙個長方形框子裡,最多有n 0 n 6 個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢...