#P3022. 奇度子图(Odd Degrees)
0
奇度子图(Odd Degrees)
奇度子图(Odd Degrees)
题目描述
奶牛共和国遭到了入侵!共和国由 ()座城镇组成,城镇之间由 ()条无向道路相连,第 条道路连接城镇 与 (,,保证无重边)。注意共和国不一定连通。
奶牛们得知入侵者计划清点共和国境内的每一条道路,因此打算关闭一部分道路来制造麻烦。请帮助奶牛们选出一个要保留的道路子集,使得每座城镇在保留下来的道路中都恰好连接奇数条道路,或者判定不存在满足条件的方案。
例如,考虑如下奶牛共和国:
1---2
\ /
3---4
如果保留道路 2-3、3-1 和 3-4(关闭 1-2),则城镇 的度数均为 ,城镇 的度数为 ,所有城镇的度数均为奇数。
输入格式
第一行包含两个用空格分隔的整数 和 。
接下来 行,每行包含两个用空格分隔的整数 和 ,按输入顺序编号为 。
输出格式
如果不存在合法方案,仅输出一行一个整数 -1。
否则第一行输出一个整数 ,表示保留的道路条数;接下来 行每行输出一个 之间的整数,表示保留的道路编号(编号必须两两不同,若有多种合法方案输出任意一种即可)。
样例输入 #1
4 4
1 2
2 3
3 1
3 4
样例输出 #1
3
2
3
4
数据范围
对于 的数据,,,,,无重边。本题使用 Special Judge 评测。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1900。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例(支持 Special Judge 多解判定) |
| 1 | 20 | 2~8 | 小规模 N≤20,M≤40 / 特殊: 奇点数连通图无解-1 / 特殊: 完美匹配各连通块2点 |
| 2 | 15 | 9~11 | Hack: 含孤立点无解-1 / Hack: 偶总结点但拆为两奇连通块无解-1 / Hack: 多偶连通块森林全有解 |
| 3 | 30 | 12~20 | 中规模 N≤5000,M≤10000 / 大规模 N=50000,M=100000 长链与稠密连通块压力 |
| 4 | 25 | 21~25 | 随机 N≤50000,M≤100000 回归 |
出处:原题链接