#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的人所在的社交圈子...