小雷的冰茶几

2021-09-24 20:43:15 字數 1412 閱讀 7364

新增鏈結描述

小雷的冰茶几

time limit: 1000 ms memory limit: 65536 kib

submit statistic discuss

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

新增鏈結描述

並查集,在一些有n個元素的集合應用問題中,我們通常是在開始時讓每個元素構成乙個單元素的集合,然後按一定順序將屬於同一組的元素所在的集合合併,其間要反覆查詢乙個元素在哪個集合中,運用並查集時間複雜度低,對於一些資料量極大的問題,一般用並查集來描述。並查集是一種樹型的資料結構,用於處理一些不相交集合的合併及查詢問題。

/**/

#include#includeint pre[100010];

int find(int x)//找元素x的根

void merge(int x,int y)//把兩個元素x和y合併

}int main()

for(i=1;i<=k;i++)

int count=0;

for(i=1;i<=n;i++)

printf("case %d: %d\n",j,count);}}

return 0;

}

小雷的冰茶几

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 ...

小雷的冰茶几 oj

time limit 1000ms memory limit 65536kb problem description 小雷有個特殊的癖好,平時喜歡收藏各種稀奇古怪的東西,譬如。還有。也包括。小雷是乙個喜歡分享的童鞋,這次小雷又給大家帶來一套神奇的東西,那就是舉世無雙的冰茶几!顧名思義,這些茶几被冰凍...