loj#P3563. 「BalticOI 2021 Day2」The Xana coup

「BalticOI 2021 Day2」The Xana coup

题目描述

题目译自 BalticOI 2021 Day2「The Xana coup」,译者 Shuchong

给定一棵点数为 NN 个树,第 ii 个点有点权 aia_iai{0,1}a_i \in \{0,1\}

你可以进行切换操作:

  • 对点 ii 进行切换操作会使得点 ii 及与其 直接相连 的点的点权取反。

其中直接相连指两点之间恰好只有一条边。

求至少需要多少次切换操作才能使得所有点的点权变为 00

输入格式

第一行一个整数 NN 代表树的点数。

接下来 N1N-1 行每行两个整数代表树的一条边。

N+1N+1NN 个整数 aia_i 代表第 ii 个点的点权。

输出格式

如果有解,一行一个整数代表答案。

如果无解,输出 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):N20N \le 20
  • Subtask 2(15 pts):N40N \le 40
  • Subtask 3(10 pts):如果点 uu 和点 vv 满足 uv=1|u-v|=1,那么他们有边相连。
  • Subtask 4(40 pts):一个点最多与 33 个点相连。
  • Subtask 5(30 pts):无特殊限制。

对于 100%100\% 的数据,3N1053 \le N \le 10^5