PAT 社交集群(並查集)

2021-08-19 22:42:15 字數 1100 閱讀 3453

輸入在第一行給出乙個正整數 n(≤1

000),為社交網路平台註冊的所有使用者的人數。於是這些人從 1 到 n 編號。隨後 n 行,每行按以下格式給出乙個人的興趣愛好列表:k​

i​​: 

h​i​

​[1]

h​i​​[2

] ... h​

i​​[

k​i​

​]其中k

​i​​

(>0)

是興趣愛好的個數,h​

i​​[

j]是第j

個興趣愛好的編號,為區間 [1, 1000] 內的整數。

首先在一行中輸出不同的社交集群的個數。隨後第二行按非增序輸出每個集群中的人數。數字間以乙個空格分隔,行末不得有多餘空格。

8

3: 2 7 10

1: 4

2: 5 3

1: 4

1: 3

1: 4

4: 6 8 1 5

1: 4

3

4 3 1

變相的並查集,根據一樣的興趣找朋友,以前做的都是直接找到後面的,仔細思考一下其實還是比較容易的,附上

ac**:

#include#include#define max 1010

using namespace std;

int f[max],sum[max],vis[max];

void init()

int getf(int v)

}void marge(int v,int u)

bool cmp(int a,int b)

int main()

}int x,k = 0,flag = 0;

for(int i = 1;i <= n; i++)

cout << k << endl;

sort(sum,sum+1000,cmp);

for(int i = 0;i < k; i++)

else

cout <<" "<< sum[i];

}return 0;

}

L3 1 社交集群 並查集

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

L3 003 社交集群 並查集

時間限制 1000 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了 社交集群 現請你編寫程式,找出所有的集群。輸入格式 輸入的第一行給...

L3 003 社交集群(並查集)

時間限制 1000 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了 社交集群 現請你編寫程式,找出所有的集群。輸入格式 輸入的第一行給...