#lg5782. D36【2-sat】[POI 2001 R2] 和平委员会

D36【2-sat】[POI 2001 R2] 和平委员会

P5782 [POI 2001 R2] 和平委员会

题目描述

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

  • 每个党派都在委员会中恰有 11 个代表。
  • 如果 22 个代表彼此厌恶,则他们不能都属于委员会。

每个党在议会中有 22 个代表。代表从 11 编号到 2n2n。编号为 2i−12i-1 和 2i2i 的代表属于第 ii 个党派。

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

输入格式

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

接下来 mm 行,每行为一对整数 a,ba,b,表示代表 aa 和 bb 互相厌恶。

输出格式

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

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

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

输入输出样例 #1

输入 #1

3 2
1 3
2 4

输出 #1

1
4
5

说明/提示

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

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

对于 100%100\% 的数据,1≤n≤80001 \leq n \leq 8000,0≤m≤200000 \leq m \leq 20000,1≤a<b≤2n1 \leq a < b \leq 2n。