1706 和平委员会 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1706

和平委员会

Easy 时间限制 1000 ms 内存限制 262144 KB
2-SAT

题目详情

返回题库

题目描述

根据宪法,Byteland 民主共和国的公众和平委员会应该在国会中通过立法程序来创立。 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍。 此委员会必须满足下列条件:

- 每个党派都在委员会中恰有 $1$ 个代表。

- 如果 $2$ 个代表彼此厌恶,则他们不能都属于委员会。

每个党在议会中有 $2$ 个代表。代表从 $1$ 编号到 $2n$。 编号为 $2i-1$ 和   $2i$ 的代表属于第 $i$ 个党派。

任务:写一程序读入党派的数量和关系不友好的代表对,计算决定建立和平委员会是否可能,若行,则列出委员会的成员表。

输入描述

第一行有两个非负整数 $n,m$。他们各自表示:党派的数量 $n$ 和不友好的代表对 $m$。

接下来 $m$ 行,每行为一对整数 $a,b$,表示代表 $a$ 和 $b$ 互相厌恶。

数据范围

对于 $42\%$ 的数据,$1 \leq n \leq 100$。

对于 $70\%$ 的数据,$1 \leq n \leq 1000$。

对于 $100\%$ 的数据,$1 \leq n \leq 8000$,$0 \leq m \leq 20000$,$1 \leq a < b \leq 8000$。

输出描述

如果不能创立委员会,则输出信息 `NIE`。

若能够成立,则输出包括 $n$ 个从区间 $1$ 到 $2n$ 选出的整数,按升序写出,每行一个,这些数字为委员会中代表的编号。

如果委员会能以多种方法形成,程序可以只输出它们的某一个。

测试样例

样例支持多行内容展示
样例1
输入
3 2
1 3
2 4
输出
1
4
5
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。