hrbust 1073 病毒(並查集入門)

2021-07-29 00:21:22 字數 1036 閱讀 6324

病毒

time limit: 1000 ms memory limit: 65536 k

total submit: 2403(620 users) total accepted: 818(542 users) rating: special judge: no

description

某種病毒襲擊了某地區,該地區有n(1≤n≤50000)人,分別編號為0,1,…,n-1,現在0號已被確診,所有0的直接朋友和間接朋友都要被隔離。例如:0與1是直接朋友,1與2是直接朋友,則0、2就是間接朋友,那麼0、1、2都須被隔離。現在,已查明有m(1≤m≤10000)個直接朋友關係。如:0,2就表示0,2是直接朋友關係。

請你程式設計計算,有多少人要被隔離。

input

第一行包含兩個正整數n(1≤n≤50000),m(1≤m≤100000),分別表示人數和接觸關係數量;

在接下來的m行中,每行表示一次接觸,;

每行包括兩個整數u, v(0 <= u, v < n)表示乙個直接朋友關係。

output

輸出資料僅包含乙個整數,為共需隔離的人數(包含0號在內)。

sample input

100 4

0 1

1 2

3 4

4 5sample output

3

#include

#include

int z[60001];

int find(int x)

return r;

}void

join(int a,int b)//join函式建立各個點之間的從屬關係

}int main()

for(i=0; i//輸入關係

int boss=find(0);

sum=0;

for(j=0; jif(find(j)==boss)//當找到的上級與感染源相等時,感染人數加一

}printf("%d\n",sum);

}return

0;}

HRBUST 1073 病毒 (並查集)

病毒 time limit 1000 ms memory limit 65536 k total submit 3578 872 users total accepted 1202 759 users rating special judge no description 某種病毒襲擊了某地區,該地...

hrbust 1073 病毒(並查集入門)

病毒 time limit 1000 ms memory limit 65536 k total submit 2403 620 users total accepted 818 542 users rating special judge no description 某種病毒襲擊了某地區,該地區...

hrbust 病毒 並查集

找不到題號了 description 某種病毒襲擊了某地區,該地區有n 1 n 50000 人,分別編號為0,1,n 1,現在0號已被確診,所有0的直接朋友和間接朋友都要被隔離。例如 0與1是直接朋友,1與2是直接朋友,則0 2就是間接朋友,那麼0 1 2都須被隔離。現在,已查明有m 1 m 100...