A21538.BIU-Offices
提高+/省选-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
题目描述
Bytel 是一家移动通信公司。该公司的每位员工都收到了一部公司生产的电话,电话的通讯录中存储着一些同事的电话号码(每部手机中也都有该手机本身的电话号码)。
由于业务扩张,公司总部需要迁移至新的办公区。为了提高工作效率,董事会决定在不同栋楼工作的每一对员工需要相互知道对方的电话号码。即如果 u 和 v 在不同的楼工作,则 u 的通讯录里需要存储 v 的电话号,v 的通讯录里也要存储 u 的电话号码。
同时,董事会决定租用尽可能多的楼,以确保良好的工作条件。现在你需要帮助 Bytel 公司计算出他们需要租用多少栋楼。
输入格式
输入格式
输入第一行包含两个整数 n,m,分别代表公司的员工数和通讯录的信息数,员工从 1 到 n 编号。
接下来 m 行,每行两个整数 ai,bi,表示 ai 和 bi 相互知道对方的电话号码,保证任意两条信息不重复。
输出格式
输出格式
输出第一行包含一个整数 t:董事会需要租用多少栋办公楼。
第二行包含 t 个整数,第 i 个整数 ci 表示在第 i 栋建筑工作的员工数量。你的输出需要保证 ci 是单调不下降的。
如果有多种合法方案,你可以输出任意一种。
输入输出样例
输入#1
7 16 1 3 1 4 1 5 2 3 3 4 4 5 4 7 4 6 5 6 6 7 2 4 2 7 2 5 3 5 3 7 1 7
输出#1
3 1 2 4
说明/提示
数据范围
2≤n≤105,1≤m≤2×106,1≤ai<bi≤n。