PTA 社交集群 (30 分)

2021-09-11 22:58:23 字數 938 閱讀 8051

當你在社交網路平台註冊時,一般總是被要求填寫你的個人興趣愛好,以便找到具有相同興趣愛好的潛在的朋友。乙個「社交集群」是指部分興趣愛好相同的人的集合。你需要找出所有的社交集群。

輸入格式:

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

​​ : h

​i​​ [1] h

​i​​ [2] … h

​i​​ [k

​i​​ ]

其中k​i

​​ (>0)是興趣愛好的個數,h

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

輸出格式:

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

輸入樣例:

83: 2 7 10

1: 4

2: 5 3

1: 4

1: 3

1: 4

4: 6 8 1 5

1: 4

並查集之後排序就好了

#include using namespace std;

const int n=1005;

int fa[n],a[n],num[n];

int find(int x)

int union(int a,int b)

int main()

int cnt=0;

for(int i=0; i());

printf("%d\n",cnt);

printf("%d", num[0]);

for(int i=1; iprintf("\n");

return 0;

}

PTA社交集群

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

7 2 社交集群 (30 分

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

7 90 社交集群 30分 詳解

當你在社交網路平台註冊時,一般總是被要求填寫你的個人興趣愛好,以便找到具有相同興趣愛好的潛在的朋友。乙個 社交集群 是指部分興趣愛好相同的人的集合。你需要找出所有的社交集群。輸出格式 首先在一行中輸出不同的社交集群的個數。隨後第二行按非增序輸出每個集群中的人數。數字間以乙個空格分隔,行末不得有多餘空...