#877. 岛湾清点

岛湾清点

岛湾清点

题目描述

海湾中有 nn 座小岛,编号为 11nn。一些小岛之间修有双向浮桥,因此同一片连通区域内的小岛可以彼此往来。

海事官不仅想知道一共有多少片连通区域,还想进一步知道:每一片连通区域里分别有多少座小岛。

请你把所有连通区域的大小都统计出来,并按从小到大的顺序输出。

输入格式

第一行包含两个整数 n,mn, m

接下来 mm 行,每行包含两个整数 u,vu, v,表示小岛 uu 和小岛 vv 之间有一座双向浮桥。

输出格式

第一行输出一个整数,表示连通区域的数量。

第二行输出这些连通区域的大小,按从小到大排序输出。

输入输出样例 #1

输入 #1

7 4
1 2
2 3
4 5
6 7

输出 #1

3
2 2 3

输入输出样例 #2

输入 #2

5 0

输出 #2

5
1 1 1 1 1

数据范围

对于 50%50\% 的数据,1n10001 \le n \le 10000m50000 \le m \le 5000

对于 100%100\% 的数据,1n2×1051 \le n \le 2 \times 10^50m2×1050 \le m \le 2 \times 10^51u,vn1 \le u, v \le nuvu \ne v

建议

二刷、三刷