7 25 朋友圈 25分

2021-10-10 20:08:41 字數 1154 閱讀 5506

某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據「我的朋友的朋友也是我的朋友」這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。

輸入的第一行包含兩個正整數n(≤30000)和m(≤1000),分別代表學校的學生總數和俱樂部的個數。後面的m行每行按以下格式給出1個俱樂部的資訊,其中學生從1~n編號:

第i個俱樂部的人數mi(空格)學生1(空格)學生2 … 學生mi
輸出給出乙個整數,表示在最大朋友圈中有多少人。

7 4

3 1 2 3

2 1 4

3 5 6 7

1 6

4
在找最大朋友圈的時候腦袋抽筋居然寫了個 o

2o^2

o2的查詢。。。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

#define inf 0x3f3f3f3f

typedef

long

long ll;

int n,m,fa[

30001

],a[

30001

],cnt[

30001

],k;

void

init

(int n)

intfind

(int x)

}void

merge

(int i,

int j)

intmain()

}int ans=0;

for(

int i=

1;i<=n;i++

) cout

}

7 25 朋友圈(25 分)

7 25 朋友圈 25 分 某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。...

7 25 朋友圈 (25 分)

某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...

7 25 朋友圈 (25 分)

並查集經典入門題 雖然簡單,但是我覺得我還是學到了很多。首先,加深了我對並查集的理解。每個集合合併的時候,總是把第乙個值作為父節點是會產生錯誤的。例如 7 4 3 1 2 3 2 4 2 3 5 6 7 1 6 include include include using namespace std ...