第21290题 程序题
小杨寻宝:判断树上边不重复路径能否收集所有宝物

题面描述

小杨有一棵包含n个节点的树,树上的一些节点放置有宝物。 小杨可以任意选择一个节点作为起点并在树上移动,但是小杨只能经过每条边至多一次,当小杨经过一条边后,该边就会消失。小杨每经过一个放置有宝物的节点就会取得该宝物。 小杨想请你帮他判断自己能否成功取得所有宝物。

输入格式

第一行包含一个正整数t,代表测试用例组数。 接下来是t组测试用例,对于每组测试用例,格式如下:

  1. 第一行包含一个正整数n,代表树的节点数。
  2. 第二行包含n个非负整数a₁,a₂,…,aₙ,其中如果aᵢ=1,则节点i放置有宝物,若aᵢ=0,则节点i没有宝物。
  3. 之后n-1行,每行包含两个正整数xᵢ,yᵢ,代表存在一条连接节点xᵢ和yᵢ的边。

输出格式

对于每组测试数据,如果小杨能成功取得所有宝物,输出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

输出

Yes
No

样例说明

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

数据范围

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

全部数据保证:$1 \leq t \leq 10$,$1 \leq n \leq 10^5$,$0 \leq a_i \leq 1$,且保证树上一定有至少一个节点放置有宝物。

编辑模式