‹ 上一题 下一题 ›

06723. USACO·牛群接触追踪 未做

2000 ms 256 MB 测试点 23 通过率 100% 6级·广度优先搜索USACO池题USACO-Platinum多源BFS贪心阶梯·拔高

题目描述

Farmer John 有 ()头编号为 的奶牛,奶牛之间的连接关系是一棵树。一场疾病正在蔓延:起初有一些奶牛已被感染;每天夜里,每头被感染的奶牛都会把疾病传染给相邻的邻居,被感染的奶牛会一直保持感染。若干个夜晚过去之后,FJ 意识到出了问题,于是检测出当前所有被感染的奶牛。给定 ()个不同的夜数(每个都是 内的整数),对每个夜数求最初被感染奶牛的最少头数,或判定该夜数与检测结果相矛盾。

输入格式

第一行包含 。

接下来一行包含一个长度为 的 01 串,第 位为 1 表示第 头奶牛被感染,为 0 表示未被感染。至少有一头奶牛被感染。

接下来 行包含这棵树的边。

然后是 ,以及随后的 个夜数值。

输出格式

行,输出每个夜数对应的答案;如果不可能,输出 。

样例

输入
5
11111
1 2
2 3
3 4
4 5
6
5
4
3
2
1
0
输出
1
1
1
1
2
5

提示说明

【样例解释】

对于第一组询问(0 夜),一种可能是奶牛 1、2、3 一开始就感染了疾病。对于第二组询问(1 夜),一种可能是只有奶牛 2 一开始感染了疾病。对于第三组询问(2 夜),一种可能是只有奶牛 1 一开始感染了疾病。对于第四至第六组询问,不存在一致的可能性。

【数据规模与约定】

  • 测试点 4-5:

  • 测试点 6-8:所有奶牛都被感染。

  • 测试点 9-11:

  • 测试点 12-23:无附加限制。

输入
输出

            
答案