L3 003 社交集群 30 分

2021-10-19 04:36:24 字數 849 閱讀 7980

#include

using

namespace std;

int vis[

1010];

vector<

int> table[

1010];

// 每個人對應的興趣

vector<

int> val_person[

1010];

// 每個興趣對應的人

bool

cmp(

int a,

int b)

void

gethorde

(int people,

int& ans)

}//gethorde: 即選中乙個人,找出其所有的興趣,再找出其興趣對應有多少人,再遍歷他們,選中乙個人,找出其所有的興趣,再找出其興趣對應有多少人...

//顯然是遞迴過程

//乙個人僅能加入乙個集群,所以有個vis

intmain()

} vector<

int> v;

for(

int i =

1; i <= n;

++i)

sort

(v.begin()

, v.

end(

), cmp)

; cout << v.

end(

)- v.

begin()

<< endl;

for(

int i =

0; i < v.

end(

)- v.

begin()

;++i)

}

L3 003 社交集群 (30 分)

當你在社交網路平台註冊時,一般總是被要求填寫你的個人興趣愛好,以便找到具有相同興趣愛好的潛在的朋友。乙個 社交集群 是指部分興趣愛好相同的人的集合。你需要找出所有的社交集群。輸入在第一行給出乙個正整數 n 1000 為社交網路平台註冊的所有使用者的人數。於是這些人從 1 到 n 編號。隨後 n 行,...

L3 003 社交集群 30分

當你在社交網路平台註冊時,一般總是被要求填寫你的個人興趣愛好,以便找到具有相同興趣愛好的潛在的朋友。乙個 社交集群 是指部分興趣愛好相同的人的集合。你需要找出所有的社交集群。輸入格式 輸入在第一行給出乙個正整數 n 1000 為社交網路平台註冊的所有使用者的人數。於是這些人從 1 到 n 編號。隨後...

L3 003 社交集群 30分

原題鏈結 並查集要想明白 合併的是什麼是通過什麼合併的 合併的是人的編號 通過是否喜歡同乙個活動x進行判斷 1 int course x 喜歡活動x的人的編號如果這個活動沒人喜歡過就要設定course x i 喜歡過的話就合併 2 findfather course x 喜歡活動x的人所在的社交圈子...