#P3022. [USACO11OPEN] Odd degrees G
[USACO11OPEN] Odd degrees G
Description
奶牛们正在遭受入侵!它们的共和国由 个城镇组成(),这些城镇通过 条无向路径连接(),每条路径连接两个城镇 和 (;;;不会出现重复路径)。然而,共和国不一定是连通的——可能存在无法通过路径到达彼此的城镇对。
奶牛们知道入侵者计划对它们共和国内的每一条路径进行清点,所以它们愿意关闭各种路径,以使入侵者的工作尽可能困难。
请帮助奶牛们找到一种关闭路径子集的方法,使得每个城镇连接的剩余路径数为奇数,或者确定不存在这样的子集。
例如,考虑以下的奶牛共和国:
1---2 \ / 3---4 如果我们保留路径 1-3、2-3 和 3-4,并移除路径 1-2,那么城镇 1、2 和 4 将成为正好一条路径的端点,而城镇 3 将成为三条路径的端点:
1 2 \ / 3---4
Input Format
* 第 1 行:两个用空格分隔的整数: 和
* 第 2 行到第 行:第 行包含两个用空格分隔的整数: 和
Output Format
* 第 1 行:一个整数,表示要保留的路径数量。如果不存在这样的子集,则仅输出一行,包含整数 -1。
* 第 2 行到第 行:每行包含一个要保留的路径的索引,范围为 1 到 。这些索引必须两两不同。
4 4
1 2
2 3
3 1
3 4
3
2
3
4
Hint
感谢 @cn:苏侨念 提供的 Special Judge(由 ChatGPT 4o 翻译)
京公网安备 11011102002149号