#L0031. 公园漫步
公园漫步
题目描述
公园里有 个景点,编号为 ,景点之间由 条小路相连,任意两个景点之间都可以通过这些小路互相到达,且只有一条路径。也就是说,公园的道路结构是一棵树。 号景点是公园的入口。
每个景点可能有猫(用 表示)或没有猫(用 表示)。
小杨从入口出发,沿着小路一直向前走(不回头),直到走到一个没有其他路可走的景点为止,这样的景点称为「终点」。
如果在前往某个终点的路上,连续经过的有猫的景点数量超过了 个,小杨就会被猫吓跑,这个终点就是「不安全的」。
请你帮小杨计算:有多少个终点是「安全的」?
输入格式
输入共 行。
第一行为两个整数 。
第二行为 个整数 , 为 表示景点 有猫,为 表示没有猫。
接下来 行,每行两个整数 ,表示景点 与景点 之间有一条小路。
输出格式
输出一个整数,表示安全终点的数量。
样例
4 1
1 1 0 1
1 2
1 3
2 4
1
7 1
1 0 1 1 0 0 0
1 2
1 3
2 4
2 5
3 6
3 7
2
样例解释
样例 1 中,终点只有景点 和景点 。到景点 的路径为 ,连续有猫的景点数为 ,不超过 ,安全;到景点 的路径为 ,连续有猫的景点数为 ,超过 ,不安全。故答案为 。
样例 2 中,终点有景点 。到景点 的路径 连续有猫数为 (安全);到景点 的路径 连续有猫数为 (安全);到景点 的路径 连续有猫数为 (不安全);到景点 同样不安全。故答案为 。
数据范围与约定
| 子任务 | 分值 | 限制 |
|---|---|---|
| 树是一条链,且入口在链的一端 | ||
| 所有结点都没有猫 | ||
| 无特殊限制 |
对于 的数据,保证 ,,,。
相关
在下列比赛中: