乳酪(並查集)

2021-09-26 02:48:51 字數 1929 閱讀 8789

題目描述

現有一塊**酪,它的高度為 h,它的長度和寬度我們可以認為是無限大的,乳酪中間有許多半徑相同的球形空洞。我們可以在這塊乳酪中建立空間座標系, 在座標系中,乳酪的下表面為 z = 0,乳酪的上表面為 z = h。

現在, 乳酪的下表面有乙隻小老鼠 jerry, 它知道乳酪中所有空洞的球心所在的座標。如果兩個空洞相切或是相交,則 jerry 可以從其中乙個空洞跑到另乙個空洞,特別地,如果乙個空洞與下表面相切或是相交, jerry 則可以從乳酪下表面跑進空洞; 如果乙個空洞與上表面相切或是相交, jerry 則可以從空洞跑到乳酪上表面。

位於乳酪下表面的 jerry 想知道, 在不破壞乳酪的情況下,能否利用已有的空洞跑到乳酪的上表面去?

空間內兩點 p1(x1,y1,z1) 、p2(x2,y2,z2) 的距離公式如下:

輸入描述:

每個輸入檔案包含多組資料。

輸入檔案的第一行,包含乙個正整數 t,代表該輸入檔案中所含的資料組數。

接下來是 t 組資料,每組資料的格式如下:

第一行包含三個正整數 n, h 和 r, 兩個數之間以乙個空格分開,分別代表乳酪中空洞的數量,乳酪的高度和空洞的半徑。

接下來的 n 行,每行包含三個整數 x, y, z, 兩個數之間以乙個空格分開, 表示空洞球心座標為 (x,y,z)。

輸出描述:

輸出檔案包含 t 行,分別對應 t 組資料的答案,如果在第 i 組資料中, jerry 能從下表面跑到上表面,則輸出「yes」,如果不能,則輸出「no」(均不包含引號)。

示例1輸入

32 4 1

0 0 1

0 0 3

2 5 1

0 0 1

0 0 4

2 5 2

0 0 2

2 0 4

輸出yes

noyes

說明

備註:對於 20%的資料, n = 1, 1 ≤ h , r ≤ 10,000,座標的絕對值不超過 10,000。

對於 40%的資料, 1 ≤ n ≤ 8, 1 ≤ h , r ≤ 10,000,座標的絕對值不超過 10,000。

對於 80%的資料,1 ≤ n ≤ 1,000, 1 ≤ h , r ≤ 10,000,座標的絕對值不超過 10,000。

對於 100%的資料, 1 ≤ n ≤ 1,000, 1 ≤ h , r ≤ 1,000,000,000, t ≤ 20,座標的絕對值不超過 1,000,000,000。

#include#include#include#include#includeusing namespace std;

typedef long long int ll;

const ll maxn = 1e3 + 10;

ll n, h, r;

ll cnt = 0;

ll f[maxn];

ll vis[maxn];

ll len[maxn];

struct node

nod[maxn];

void init()

ll dis(ll x1, ll y1, ll z1, ll x2, ll y2, ll z2)

ll find(ll x)

ll merge(ll x, ll y)

else

f[f1] = f2;

return 1; }}

int main()

for (ll i = 0; i < n; i++)

}ll flag = 0;

for (ll i = 0; i < cnt; i++)

}if (flag == 0)

cout << "no" << endl;

} return 0;

}

乳酪 並查集

先來看看題 現有一塊 酪,它的高度為 h,它的長度和寬度我們可以認為是無限大的,乳酪中間有許多半徑相同的球形空洞。我們可以在這塊乳酪中建立空間座標系,在座標系中,乳酪的下表面為z 0,乳酪的上表面為z h。現在,乳酪的下表面有乙隻小老鼠 jerry,它知道乳酪中所有空洞的球心所在的座標。如果兩個空洞...

C 初學記錄(乳酪 並查集)

原題目 牛客網 題目描述 現有一塊 酪,它的高度為 h,它的長度和寬度我們可以認為是無限大的,乳酪中間有許多半徑相同的球形空洞。我們可以在這塊乳酪中建立空間座標系,在座標系中,乳酪的下表面為 z 0,乳酪的上表面為 z h。現在,乳酪的下表面有乙隻小老鼠 jerry,它知道乳酪中所有空洞的球心所在的...

10 27T4 乳酪 並查集

描述 輸入每個輸入檔案包含多組資料。輸入檔案的第一行,包含乙個正整數 t,代表該輸入檔案中所含的資料組數。接下來是 t 組資料,每組資料的格式如下 第一行包含三個正整數 n,h 和 r,兩個數之間以乙個空格分開,分別代表乳酪中空 洞的數量,乳酪的高度和空洞的半徑。接下來的 n 行,每行包含三個整數 ...