A5534. 「一本通 3.5 练习 5」和平委员会
编程题
提高+/省选-
知识点
题目描述
**原题来自:POI 2001**
根据宪法,Byteland 民主共和国的公众和平委员会应该在国会中通过立法程序来创立。 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍。
此委员会必须满足下列条件:
- 每个党派都在委员会中恰有 $1$ 个代表,
- 如果 $2$ 个代表彼此厌恶,则他们不能都属于委员会。
每个党在议会中有 $2$ 个代表。代表从 $1$ 编号到 $2n$。 编号为 $2i-1$ 和 $2i$ 的代表属于第 $i$ 个党派。
任务:写一程序读入党派的数量和关系不友好的代表对,计算决定建立和平委员会是否可能,若行,则列出委员会的成员表。
根据宪法,Byteland 民主共和国的公众和平委员会应该在国会中通过立法程序来创立。 不幸的是,由于某些党派代表之间的不和睦而使得这件事存在障碍。
此委员会必须满足下列条件:
- 每个党派都在委员会中恰有 $1$ 个代表,
- 如果 $2$ 个代表彼此厌恶,则他们不能都属于委员会。
每个党在议会中有 $2$ 个代表。代表从 $1$ 编号到 $2n$。 编号为 $2i-1$ 和 $2i$ 的代表属于第 $i$ 个党派。
任务:写一程序读入党派的数量和关系不友好的代表对,计算决定建立和平委员会是否可能,若行,则列出委员会的成员表。
输入格式
第一行有两个非负整数 $n$ 和 $m$。他们各自表示:党派的数量 $n$ 和不友好的代表对 $m$。
接下来 $m$ 行,每行为一对整数 $a,b$,表示代表 $a,b$ 互相厌恶。
接下来 $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$