在新灿学习的双叶幼儿园,有s_0, s_1...s_(N-1)
包括新灿在内的N名学生。每个学生都直接或间接地相互认识。两个学生如果是朋友,就直接认识对方。间接认识意味着有第三个学生同时认识他们。相互认识是一种对称关系,即如果学生 s_a 认识学生 s_b,那么学生 s_b 也认识学生 s_a。
爱酱是班上的新学生。她想和他们所有人成为朋友。但是要和那里的N个学生中的每一个交朋友会很麻烦。所以她决定和他们中的一些人交朋友,这样班里的每个学生要么是她的朋友,要么是她朋友的朋友。
帮助她选择那些学生,以便与他们成为朋友将完成她的目标。学生人数越少越好。
输入
输入的第一行将包含两个空格分隔的整数,NM,Futaba 幼儿园的学生人数,不包括 Ai-chan,以及彼此成为朋友的学生对的数量,即他们直接相互认识。然后遵循 M 行。在每一行中,有两个空格分隔的整数 s_u s_v,这样学生 s_u 和 s_v 是彼此的朋友。
输出
在第一行打印这些学生的总数 P。然后在下一行打印 P 空格分隔的学生索引,这样与他们成为朋友将有助于 Ai-chan 实现她的目标。
约束:
1 <= N <= 10^5
1 <= M <= min(10^5, N*(N-1)/2)
0 <= s_u, s_v <= N-1
s_u != s_v
每对学生 (s_u, s_v) 直接或间接地相互认识。
分数:((NP)/N)*200
**Sample Input**
6 7
0 1
0 2
1 2
1 3
2 4
3 4
3 5
**Sample Output**
4
0 2 3 5
我认为只与 1 和 3 成为朋友就可以了。我错过了什么吗?我不是在寻找解决方案,只是对示例输入和输出的解释。