检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#题面
#题目描述
Bytel 是一家移动通信公司。该公司的每位员工都收到了一部公司生产的电话,电话的通讯录中存储着一些同事的电话号码(每部手机中也都有该手机本身的电话号码)。
由于业务扩张,公司总部需要迁移至新的办公区。为了提高工作效率,董事会决定在不同栋楼工作的每一对员工需要 相互 知道对方的电话号码。即如果 和 在不同的楼工作,则 的通讯录里需要存储 的电话号, 的通讯录里也要存储 的电话号码。
同时,董事会决定租用尽可能多的楼,以确保良好的工作条件。现在你需要帮助 Bytel 公司计算出他们需要租用多少栋楼。
#输入格式
输入第一行包含两个整数 ,分别代表公司的员工数和通讯录的信息数,员工从 到 编号。
接下来 行,每行两个整数 ,表示 和 相互 知道对方的电话号码,保证任意两条信息不重复。
#输出格式
输出第一行包含一个整数 :董事会需要租用多少栋办公楼。
第二行包含 个整数,第 个整数 表示在第 栋建筑工作的员工数量。你的输出需要保证 是单调不下降的。
如果有多种合法方案,你可以输出任意一种。
#样例输入输出
样例输入 #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
#数据范围与约定
对于 的数据,,,。
#思路
给定一张 个点 条边的图,求出其补图的连通块个数以及各个连通块的大小。
使用 BFS 搜索答案,开一个 set 记录未划分的点。对于每个 遍历一遍整个 set,如果 set 中的某个点 不能从 出发直接到达(即不存在一条 的边),那么点 就和点 在补图中位于同一个连通块内。
#代码
1 |
|