QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 512 MB Total points: 100

#13595. 委员会

Statistics

你是否知道为题目选拔委员会选择一组人选有多么困难?不知道?那你知道谁知道吗?当然是 Malnar 先生。通过观察人际交往,无所不知的 Malnar 先生已经决定了理想的人选组合应该是什么样的。

目前共有 $N$ 个人正在被考虑加入委员会,并且记录了他们之间的 $M$ 条关系。一条关系由一个有序对 $(a, b)$ 描述,表示人 $a$ 厌恶人 $b$。Malnar 先生将“厌恶环”定义为一个由不同人组成的序列 $x_1, x_2, \dots, x_k$,满足对于每个 $1 \le i \le k$,人 $x_i$ 厌恶人 $x_{i+1}$(其中约定 $x_{k+1} = x_1$)。Malnar 先生注意到这群人有一个奇特的性质:不存在由奇数个人组成的厌恶环

为了最大程度地减少对委员会人选的不满,Malnar 先生希望寻找一个委员会,使得委员会内部的每个人都彼此和睦,而委员会外的每个人都庆幸自己没有加入。更具体地说:

  • 委员会内部不能存在两个人,满足其中一人厌恶另一人。
  • 对于委员会外的每个人,委员会中都必须存在一个被其厌恶的人。

你能找到这样一组人吗?

输入格式

第一行包含两个正整数 $N$ 和 $M$,分别表示人数和他们之间的关系数。

接下来的 $M$ 行中,第 $i$ 行包含一个由正整数组成的有序对 $a_i$ 和 $b_i$($1 \le a_i, b_i \le N$),表示人 $a_i$ 厌恶人 $b_i$。保证对于所有 $i = 1, 2, \dots, M$,都有 $a_i \neq b_i$,且没有重复的有序对。

给定的关系保证不存在由奇数个人组成的厌恶环。

输出格式

如果无法选择满足给定条件的一组人,则在唯一的一行中输出 -1

否则,在第一行输出一个正整数 $K$($1 \le K \le N$),表示委员会中的总人数。

在下一行输出 $K$ 个互不相同的正整数 $p_1, p_2, \dots, p_K$($1 \le p_i \le N$),表示组成委员会的人的编号。

如果存在多个解,输出其中任意一个即可。

数据范围

在所有子任务中,均满足 $1 \le N \le 500\,000$ 且 $0 \le M \le 500\,000$。

子任务 分值 限制
1 13 不存在厌恶环。
2 21 不存在奇数长度的人的序列 $x_1, x_2, \dots, x_k$,满足对于所有 $1 \le i \le k$(约定 $x_{k+1} = x_1$),$x_i$ 或 $x_{i+1}$ 之中有一人厌恶另一人。
3 33 $N, M \le 5000$。
4 33 无附加限制。

样例

输入样例 1

4 4
1 2
1 3
2 4
3 4

输出样例 1

2
4 1

输入样例 2

4 4
1 2
2 3
3 4
4 1

输出样例 2

2
1 3

输入样例 3

8 11
1 2
2 1
3 4
4 5
5 6
6 3
7 8
8 7
3 2
7 3
8 1

输出样例 3

3
1 3 5

说明

每个测试用例的输出中展示了所选的人的集合。

第一个样例是子任务 1 和子任务 2 的有效测试用例。

第二个样例不是子任务 1 的有效测试用例,但它是子任务 2 的有效测试用例。

第三个样例既不是子任务 1 的有效测试用例,也不是子任务 2 的有效测试用例。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.