第一行:乙個整數 n(n\leq 5000)n(
n≤50
00),表示有 n
n對朋友認識。
接下來 n
n 行:每行輸入兩個名字。表示新認識的兩人的名字,用空格隔開。(名字是乙個首字母大寫後面全是小寫字母且長度不超過 20 的串)。
對於每一對新認識的朋友,輸出合併以後的朋友圈的大小。
樣例輸入
3fred barney
barney betty
betty wilma
樣例輸出
234
#include#includeusing namespace std;
#includeint size[5010];
int father[5010];
mapm; //結合題意,採用這樣的對應。
int get(int a)
void add(int a,int b)
}int main()
int pos=1;
while(n--)
,只會讓dist[0]=1,其他還是預設為0,就很煩)
PAT 朋友圈(並查集)
某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...
5 9 朋友圈 (並查集)
某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...
朋友圈 簡單並查集
班上有 n 名學生。其中有些人是朋友,有些則不是。他們的友誼具有是傳遞性。如果已知 a 是 b 的朋友,b 是 c 的朋友,那麼我們可以認為 a 也是 c 的朋友。所謂的朋友圈,是指所有朋友的集合。給定乙個 n n 的矩陣 m,表示班級中學生之間的朋友關係。如果mi 1,表示已知第 i 個和 j 個...