洛谷P3958 乳酪 bfs

2021-08-28 06:02:24 字數 912 閱讀 8054

題解

先對球按照高度(即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。現在,乳酪的下表面有...