在乙個長方形框子裡,最多有n(0≤n≤6)個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢才能放置下乙個油滴。那麼應該按照怎樣的順序在這n個點上放置油滴,才能使放置完畢後所有油滴佔據的總體積最大呢?(不同的油滴不會相互融合)
注:圓的面積公式v=pi*r*r,其中r為圓的半徑。
輸入格式:
第1行乙個整數n。
第2行為長方形邊框乙個頂點及其對角頂點的座標,x,y,x』,y』。
接下去n行,每行兩個整數xi,yi,表示盒子的n個點的座標。
以上所有的資料都在[-1000,1000]內。
輸出格式:
一行,乙個整數,長方形盒子剩餘的最小空間(結果四捨五入輸出)
輸入樣例#1:
220 0 10 10
13 3
17 7
輸出樣例#1:
50
/*強力搜尋就可以,注意油滴的半徑不能是負
*/#include
#include
#include
#include
#define pi 3.14159265358979323846
using
namespace
std;
int x[7],y[7
],bx,by,sx,sy;
intn;
bool vis[7
];double r[7
],ans;
double dis(int i,int
j)double count(int
i)void dfs(int cnt,double
sum)
for(int i=1;i<=n;i++)
dfs(cnt+1,sum+count(i));
vis[i]=0;r[i]=0
; }
}}int
main()
洛谷 P1378 油滴擴充套件
題目描述 在乙個長方形框子裡,最多有n 0 n 6 個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢才能放置下乙個油滴。那麼應該按照怎樣的順序在這n個點上放置油滴,才能使放置完畢後所有油滴佔據的總體積最大呢?不同...
洛谷P1378 油滴擴充套件
1 dfs的題寫著就是很有意思,資料很小,正兒八經的暴力題,如果不用深搜完全可以用n層for迴圈,n很小嘛,dfs找bug真的是很刺激啊 最後注釋了1行 就從50分到100分了 pragma gcc optimize 2 include using namespace std define pi a...
洛谷P1378 油滴擴充套件
題目 在乙個長方形框子裡,最多有n 0 n 6 個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢才能放置下乙個油滴。那麼應該按照怎樣的順序在這n個點上放置油滴,才能使放置完畢後所有油滴佔據的總體積最大呢?不同的油...