首页 > 试题广场 >

爱丽丝的人偶符法

[编程题]爱丽丝的人偶符法
  • 热度指数:76 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
爱丽丝正在森林中布置她的人偶阵列。她将 latex 个人偶通过丝线连接成了一棵以人偶 latex 为根的树。每个人偶 latex 都有一个初始状态 latex,而爱丽丝希望通过魔法将它们全部转变为目标状态 latex
爱丽丝可以对任意一个人偶 latex 施加一次“波及魔法”。该魔法的效果如下:
翻转人偶 latex 及其子树中所有与 latex 距离为偶数(latex)的人偶的状态。所谓翻转,即 latex 变为 latexlatex 变为 latex
请计算爱丽丝最少需要施加多少次魔法,才能使所有人偶都达到目标状态。

输入描述:
第一行包含一个整数 latex (latex),表示人偶的总数。
接下来的 latex 行,每行包含两个整数 latexlatex (latex),表示人偶 latexlatex 之间有一条丝线连接。输入保证这些丝线构成一棵合法的树。
接下来的第 latex 行包含 latex 个整数,第 latex 个整数表示人偶 latex 的初始状态 latex (latexlatex)。
接下来的第 latex 行包含 latex 个整数,第 latex 个整数表示人偶 latex 的目标状态 latex (latexlatex)。


输出描述:
输出一个整数,表示最少需要的操作次数。
示例1

输入

5
1 2
2 3
4 5
3 4
0 0 0 0 0
1 1 1 1 1

输出

2

说明

在样例中,树的结构为一条路径 latex
1. 对人偶 latex 进行操作:由于人偶 latexlatex 的距离分别为 latex(均为偶数),它们的状态从 latex 变为 latex。此时状态序列为 `1 0 1 0 1`。
2. 对人偶 latex 进行操作:由于人偶 latexlatex 的距离分别为 latex(均为偶数),它们的状态从 latex 变为 latex。此时状态序列为 `1 1 1 1 1`。
总共进行了 latex 次操作,满足所有目标状态。

这道题你会答吗?花几分钟告诉大家答案吧!