在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了「社交集群」。現請你編寫程式,找出所有的集群。
輸入格式:
輸入的第一行給出正整數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 作者 陳越 在社交網路平台註冊時,使用者通常會輸入自己的興趣愛好,以便找到和自己興趣相投的朋友。有部分興趣相同的人們就形成了 社交集群 現請你編寫程式,找出所有的集群。...