loj#P3563. 「BalticOI 2021 Day2」The Xana coup
「BalticOI 2021 Day2」The Xana coup
题目描述
题目译自 BalticOI 2021 Day2「The Xana coup」,译者 Shuchong。
给定一棵点数为 个树,第 个点有点权 ,。
你可以进行切换操作:
- 对点 进行切换操作会使得点 及与其 直接相连 的点的点权取反。
其中直接相连指两点之间恰好只有一条边。
求至少需要多少次切换操作才能使得所有点的点权变为 。
输入格式
第一行一个整数 代表树的点数。
接下来 行每行两个整数代表树的一条边。
第 行 个整数 代表第 个点的点权。
输出格式
如果有解,一行一个整数代表答案。
如果无解,输出 impossible
。
5
1 2
1 3
2 4
2 5
0 1 0 1 1
4
5
1 2
2 3
3 4
4 5
0 1 1 1 1
impossible
数据范围与提示
- Subtask 1(5 pts):。
- Subtask 2(15 pts):。
- Subtask 3(10 pts):如果点 和点 满足 ,那么他们有边相连。
- Subtask 4(40 pts):一个点最多与 个点相连。
- Subtask 5(30 pts):无特殊限制。
对于 的数据,。