參與者人數 20分 並查集

2021-10-02 18:41:17 字數 894 閱讀 9892

臨沂大學有很多社團,乙個學生可能會加入多個社團。為了活躍大學生業餘生活,增強體育運動積極性,臨沂大學讀書社團決定舉行大學生跳繩比賽,要求該社團成員必須參加。為了擴大影響,要求只要其他社團有乙個人參加,那麼該社團中的每乙個人都必須參加。求參加比賽至少多少人?

輸入格式:

輸入第一行包含兩個整數n和m,n(0 < n <= 30000)表示學生的數目,m(0 <= m <= 500)表示社團的數目。每個學生都有乙個唯一的編號,編號取值為0到n-1,編號為0的社團是讀書社團。 接下來有m個社團的名單,每個社團的名單在輸入中為一行。每一行先輸入乙個數k表示社團總人數。接著是社團中k個成員的編號。

輸出格式:

輸出乙個數占一行,表示參加比賽的總人數。

輸入樣例:

100 4

2 1 2

5 10 13 11 12 14

2 0 1

2 99 2

輸出樣例:

4

#include

#include

#include

using namespace std;

int father[

30005

],a[

30005

],ans,v;

int find

(int x)

while

(a!=father[a]

)return x;

}int main()

for(int i=

0;i)for

(int j=

0;j1;j++)}

for(int i=

0;i)printf

("%d\n"

,ans)

;return0;

}

7 1 參與者人數 (並查集問題)

臨沂大學有很多社團,乙個學生可能會加入多個社團。為了活躍大學生業餘生活,增強體育運動積極性,臨沂大學讀書社團決定舉行大學生跳繩比賽,要求該社團成員必須參加。為了擴大影響,要求只要其他社團有乙個人參加,那麼該社團中的每乙個人都必須參加。求參加比賽至少多少人?輸入格式 輸入第一行包含兩個整數n和m,n ...

關押罪犯 並查集 二分

s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同一監獄,他...

檔案傳輸 (25 分)(並查集)

當兩台計算機雙向連通的時候,檔案是可以在兩台機器間傳輸的。給定一套計算機網路,請你判斷任意兩台指定的計算機之間能否傳輸檔案?首先在第一行給出網路中計算機的總數 n 2 n 10 4 於是我們假設這些計算機從 1 到 n 編號。隨後每行輸入按以下格式給出 i c1 c2其中i表示在計算機c1和c2之間...