SDUT 3386 小雷的冰茶几 並查集)

2021-09-11 03:56:48 字數 1273 閱讀 7079

time limit: 1000 ms memory limit: 65536 kib

problem description

小雷有個特殊的癖好,平時喜歡收藏各種稀奇古怪的東西,譬如。。。。,還有。。。。,也包括。。。。。小雷是乙個喜歡分享的童鞋,這次小雷又給大家帶來一套神奇的東西,那就是舉世無雙的冰茶几!

顧名思義,這些茶几被冰凍住了,最主要的是他們是易碎品,畢竟被凍住了。因此小雷要很小心翼翼的移動他們。一些茶几是凍在一起的,因此一套冰茶几分為好幾部分,並且如果茶几a與b凍在一起,b與c凍在一起,那麼a與c也就凍在了,即冰凍狀態有傳遞性,abc此時會看作乙個整體。

為了保證冰茶几的完整性,小雷每次只能移動一整塊冰茶几,也就是冰凍在一起的一部分。小雷想知道他需要搬幾次才能全部搬到實驗室,你能幫小雷快速計算出答案麼?

input

多組輸入,先輸入組數t(1 < = t < = 200)。

對於每組輸入,先輸入乙個整數n(1 < = n < = 100000),k(0 < = k < = 100000),茶几編號1~n。

之後k行,每行兩數x,y(1 < = x,y < = n),表示第x個茶几和第y個茶几冰凍在一起。

output

對於每組輸入,先輸出」case z: 」(不帶引號)表示組數,再輸出乙個整數,表示小雷需要搬動的次數。

sample input

33 1

1 25 2

1 23 4

5 21 2

2 3sample output

case 1: 2

case 2: 3

case 3: 3

hint

source

2023年第五屆acm趣味程式設計迴圈賽(第一場) by leiq

ac**

#include

using namespace std;

int pre[

123456];

introot

(int x)

//尋找其父節點

return x;

}void

merge

(int x,

int y)

}int

main()

for(

int j=

1; j<=k; j++

)int sum=0;

for(

int j=

1; j<=n; j++

) cout<}return0;

}

小雷的冰茶几

problem description 小雷有個特殊的癖好,平時喜歡收藏各種稀奇古怪的東西,譬如。還有。也包括。小雷是乙個喜歡分享的童鞋,這次小雷又給大家帶來一套神奇的東西,那就是舉世無雙的冰茶几!顧名思義,這些茶几被冰凍住了,最主要的是他們是易碎品,畢竟被凍住了。因此小雷要很小心翼翼的移動他們。一...

小雷的冰茶几

新增鏈結描述 小雷的冰茶几 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 小雷有個特殊的癖好,平時喜歡收藏各種稀奇古怪的東西,譬如。還有。也包括。小雷是乙個喜歡分享的童鞋,...

A 小雷的冰茶几

題目鏈結 最近課上在學最小生成樹,打算順便複習一下相關的做幾個題 並查集 一共需要搬動的次數,即,一共有幾個集合 放ac 1 include2 using namespace std 3int t,n,k,x,y 4int p 100010 5 6void init intn 7 1112 int ...