编程题
### 问题描述 在奇幻世界中,有 $n$ 个魔法王国,它们分布在大陆的各个角落。这些王国由 $n-1$ 条魔法之路相互连接,形成了一个庞大的魔法网络。每个王国都有自己的特色和价值。 你是一位魔法师,受命于盖亚女神,要对这些王国进行评分。你可以给每个王国打一个分数,分数只能是 $0$ 或者 $1$。然而,盖亚女神有一项特殊的要求:那些只与一个王国相连的王国必须评分为 $0$ 的数量和评分为 $1$ 的数量要相等,以维持魔法平衡。 在你完成评分后,相邻的两个王国如果分数不同,就需要施展魔法,消除它们之间的不和谐。每次施展魔法的代价都是 $w$。你的目标是使得符合盖亚女神要求的评分方案,并且要计算出处理不和谐王国所需的最小花费。 如果无法找到满足要求的评分方案,则输出 `-1`。 ### 输入格式 第一行输入两个整数 $n$ 和 $w$,表示魔法王国的数量和施展魔法的代价。保证 $1 \leq n, w \leq 1000$。 接下来 $n-1$ 行,每行输入两个整数 $u_i$ 和 $v_i$,表示相连的两个王国的编号。保证 $1 \leq u_i, v_i \leq n$。 ### 输出格式 输出一个整数,表示满足要求的评分方案下处理不和谐王国所需的最小花费。如果无法找到满足要求的评分方案,则输出 `-1`。 ### 样例输入 ``` 3 3 1 2 2 3 ``` ### 样例输出 ``` 3 ```
查看答案
赣ICP备20007335号-2