测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5534. 「一本通 3.5 练习 5」和平委员会

编程题 提高+/省选-
知识点

题目描述

**原题来自:POI 2001**

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

此委员会必须满足下列条件:

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

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

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

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

输入格式

第一行有两个非负整数 $n$ 和 $m$。他们各自表示:党派的数量 $n$ 和不友好的代表对 $m$。
接下来 $m$ 行,每行为一对整数 $a,b$,表示代表 $a,b$ 互相厌恶。

输出格式

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

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

输入输出样例

输入 #1
3 2
1 3
2 4
输出 #1
1
4
5

说明/提示

$1 \le n \le 8000,0 \le m \le 20000,1 \le a < b \le 2n$
上一题 去做题 下一题