#2356. GESP-202409-小杨寻宝001

GESP-202409-小杨寻宝001

问题背景

小杨有一棵包含n个节点的树,树上的一些节点放置有宝物。

小杨可以任意选择一个节点作为出发点并在树上移动,但是小杨只能经过每条边至多一次,当小杨经过一条边后,这条边就会消失。小杨每经过一个放置有宝物的节点就会取得该宝物。

小杨想请你帮他判断自己能否成功取得所有宝物。


问题描述

给定一个树的结构和宝物分布情况,判断小杨是否能成功取得所有宝物。


格式

输入

第一行包含一个正整数t,代表测试用例组数。

接下来是t组测试用例。对于每组测试用例,一共n+1行。

  • 第一行包含一个正整数n,代表树的节点数。
  • 第二行包含n个非负整数a1,a2,…,an,其中ai=1,代表节点i放置有宝物,若ai=0,则节点i没有宝物。
  • 之后n−1行,每行包含两个正整数xi, yi,代表存在一条连接节点xi和yi的边。

输出

对于每组测试数据,如果小杨能成功取得所有宝物,输出Yes,否则输出No。


样例

输入数据 1

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

输出数据 1

Yes
No

提示

对于第一组测试用例,小杨从节点2出发,按照2-1-3-4的顺序即可成功取得所有宝物。

子任务编号 数据量占比 t n
1 20% t ≤ 10 n ≤ 5
2 n ≤ 1000
3 60% n ≤ 10^5

对于全部数据,保证: 1 ≤ t ≤ 10,1 ≤ n ≤ 10^5,0 ≤ ai ≤ 1,且保证树上一定有至少一个节点放置有宝物。