L3 003 社交集群

2021-09-14 00:49:39 字數 1463 閱讀 8482

在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了「社交集群」。現請你編寫程式,找出所有的集群。

輸入格式:

輸入的第一行給出正整數n(<=1000),即社交網路中的使用者總數(則使用者從1到n編號)。隨後n行,每行按下列格式列出每個人的興趣愛好:

ki: hi[1] hi[2] … hi[ki]

其中ki(>0)是第i個人的興趣的數量,hi[j]是第i個人的第j項興趣的編號,編號範圍為[1, 1000]內的整數。

輸出格式:

首先在第一行輸出整個網路中集群的數量,然後在第二行按非遞增的順序輸出每個集群中使用者的數量。數字間以1個空格分隔,行首尾不得有多餘空格。

輸入樣例:

83: 2 7 10

1: 4

2: 5 3

1: 4

1: 3

1: 4

4: 6 8 1 5

1: 4

輸出樣例:

34 3 1

興趣只是個幌子,重要的還是通過興趣連線每個人的編號

做這種題要注意陣列下標起始是0還是1

sort(ans + 1, ans + 1 + maxn, cmp);寫錯成了sort(ans + 1, ans + 1 + n, cmp);

#include

#include

using namespace std;

const

int maxn =

1010

;int map1[maxn]

;int f[maxn]

;int ans[maxn]

;void

init

(int n)

intfind

(int x)

void

merge

(int a,

int b)

bool cmp

(int a,

int b)

intmain()

}int cnt =0;

for(

int i =

1; i <= n; i++

) ans[

find

(i)]++;

for(

int i =

1; i <= n; i++

) cout << cnt << endl;

sort

(ans +

1, ans +

1+ maxn, cmp)

;for

(int i =

1; i <= cnt; i ++

) cout << ans[i]

<<

" \n"

[i==cnt]

;return0;

}

L3 003 社交集群

在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了 社交集群 現請你編寫程式,找出所有的集群。輸入格式 輸入的第一行給出正整數n 1000 即社交網路中的使用者總數 則使用者從1到n編號 隨後n行,每行按下列格式列出每個人的興趣愛好 ki...

L3 003 社交集群

在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了 社交集群 現請你編寫程式,找出所有的集群。輸入格式 輸入的第一行給出正整數n 1000 即社交網路中的使用者總數 則使用者從1到n編號 隨後n行,每行按下列格式列出每個人的興趣愛好 ki...

L3 003 社交集群

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