#P4431. Party【缺SPJ】
Party【缺SPJ】
题目描述
Arseny 喜欢组织派对并邀请他的朋友们参加。然而,不仅朋友来参加他的聚会,还有他朋友的朋友,他朋友的朋友的朋友等等。所以 Arseny 的有一部分客人可能不了解他。他决定使用以下程序解决此问题。
在每一步,他都选择了一位客人 A,成对地向 A 介绍了他的所有朋友。在完成这一步之后,他的任意两个朋友也会互相成为朋友。一直重复这个步骤到所有客人都互相为朋友为止。
Arseny 不想花太多时间去完成这件事,所以他想用最少的步骤完成这个过程。Arseny 需要你来帮帮她做到这一点。
大致题意:给你一堆一对对的关系,然后每一个关系对代表两个人认识。然后你每次可以选择一个人 ,让 认识的所有人都相互认识,即 把介绍自己所有的朋友给其他人。然后现在问你最少需要选择多少个这样的 ,使得所有的人都相互认识。
输入格式
第一行包含两个整数 和 。 为派对上的客人人数(包括 Arseny), 为 Arseny 朋友的人数。
接下来 行,每行包含两个整数 和 ,代表 和 在派对前就已经是朋友。保证每对朋友只会出现一次,并且友谊图表是相互关联的。
输出格式
在第一行输出所有的客人都成为朋友所需的最少步骤数。
在第二行输出每个步骤中选择的客人编号。
如果有多个解决方案,您可以输出任意一个解决方案。
5 6
1 2
1 3
2 3
2 5
3 4
4 5
2
2 3
4 4
1 2
1 3
1 4
3 4
1
1
在第一个样例中,没有客人是所有其他客人的朋友,因此至少需要执行两个步骤。第二位客人成对介绍他的所有朋友,只有一对客人 和 不是朋友。客人 或 可以介绍它们。
在第二个样例中,编号为 的客人是所有客人的朋友,所以他可以一步一步地介绍所有客人。
提示
,。