題解
先對球按照高度(即z
zz座標)排個序,對於每個球,我們對與它相交或者相切的球建邊,然後從最下面的球開始bfs
bfsbf
s就好了。(坑點:有可能與下表面相交或相切的不止乙個,還有距離要用double…)
#include
using namespace std;
struct ball
}a[1010];
int n,h,r,t,e[
1010][
1010];
bool vis[
1010][
1010];
double
dist
(ball p1,ball p2)
bool love
(ball p,ball q)
intmain()
for(
int i =
0; i < n;
++i)
}sort
(a,a+n)
;for
(int i =
0; i < n;
++i)}}
bool f =0;
queue<
int> pq;
for(
int i =
0; i < n;
++i)
}while
(!pq.
empty()
)for
(int i =
0; i < n;
++i)}}
if(a[0]
.z - r >
0) f =0;
puts
(f?"yes"
:"no");
}return0;
}
洛谷P3958 乳酪
現有一塊 酪,它的高度為 h 它的長度和寬度我們可以認為是無限大的,乳酪 中間有許多 半徑相同 的球形空洞。我們可以在這塊乳酪中建立空間座標系,在座標系中,乳酪的下表面為 z 0 乳酪的上表面為 z h 現在,乳酪的下表面有乙隻小老鼠 jerry,它知道乳酪中所有空洞的球心所在的坐 標。如果兩個空洞...
洛谷P3958 乳酪
現有一塊 酪,它的高度為 hh,它的長度和寬度我們可以認為是無限大的,乳酪 中間有許多 半徑相同 的球形空洞。我們可以在這塊乳酪中建立空間座標系,在座標系中,乳酪的下表面為z 0z 0,乳酪的上表面為z hz h。現在,乳酪的下表面有乙隻小老鼠 jerry,它知道乳酪中所有空洞的球心所在的坐 標。如...
洛谷P3958 乳酪
原題位址 17年noip提高組的第二題,看到好多人都用搜尋,就拿並查集來水一篇題解 現有一塊 酪,它的高度為h,它的長度和寬度我們可以認為是無限大的,乳酪 中間有許多半徑相同的球形空洞。我們可以在這塊乳酪中建立空間座標系,在坐 標係中,乳酪的下表面為z 0,乳酪的上表面為z h。現在,乳酪的下表面有...