题号:NC53302
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
输入描述:
从标准输入读入以下数据:
第一行两个正整数N,K,表示JOI合众国有N个城市K个州;
接下来N-1行,每行两个整数
,描述JOI合众国内部高速公路的情况。
接下来N行,每行一个正整数
,表示j号城市属于
州。
输出描述:
输出一个整数到标准输出,表示使得JOI合众国不可分裂的最小合并次数。
示例1
输入
复制
5 4
1 2
2 3
3 4
3 5
1
2
1
3
4
说明
在这组样例中,初始情况的JOI合众国是可分裂的,例如,如果将1,2,3,4号城市分到X组,5号城市分到Y组,这样是满足可分裂的条件的。
如果K先生将3,4号州合并为一个州,JOI合众国就不可分裂了,因此答案为1。
示例2
输入
复制
5 4
1 2
2 3
3 4
4 5
1
2
3
4
1
说明
在这组样例中,初始情况JOI合众国就不可分裂,因此答案是0。
备注:
对于全部数据,

,保证利用高速公路可以从任意一个城市到达另一个城市,对于任意
)
,都存在
)
使得

。
CC-BY-SA,感谢LOJ分享,译文来自 https://loj.ac/problem/3040