4333: [GESP202409七级] 小杨寻宝
内存限制:512 MB
时间限制:3.000 S
评测方式:文本比较
命题人:
提交:3
解决:1
题目描述
## 题目背景
2024 年 9 月 GESP C++ 七级编程第 1 题
## 题目描述
小杨有一棵包含 $n$ 个节点的树,树上的一些节点放置有宝物。
小杨可以任意选择一个节点作为起点并在树上移动,但是小杨只能经过每条边至多一次,当小杨经过一条边后,这条边就会消失。小杨每经过一个放置有宝物的节点就会取得该宝物。
小杨想请你帮他判断自己能否成功取得所有宝物。
输入
## 输入格式
第一行包含一个正整数 $t$,代表测试用例组数。
接下来是 $t$ 组测试用例。对于每组测试用例,一共 $n+1$ 行。
第一行包含一个正整数 $n$,代表树的节点数。
第二行包含 n个非负整数 $a_1,a_2,...,a_n$,其中如果 $a_i=1$ ,则节点 $i$ 放置有宝物,若 $a_i=0$,则节点 $i$ 没有宝物。
之后 $n-1$ 行,每行包含两个正整数 $x_i,y_i$,代表存在一条连接节点 $x_i$ 和 $y_i$ 的边。
输出
## 输出格式
对于每组测试数据,如果小杨能成功取得所有宝物,输出 Yes,否则输出 No。
样例输入 复制
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
提示
## 样例1
```input1
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
```
```output1
Yes
No
```
## 样例解释
对于第一组测试用例,小杨从节点 $2$ 出发,按照 $2-1-3-4$ 的顺序即可成功取得所有宝物。
## 数据范围
| 子任务编号 | 数据点占比 | $t$ | $n$ |
| ---------- | ---------- | --------- | ----------- |
| 1 | $20\%$ | $\leq 10$ | $\leq 5$ |
| 2 | $20 \%$ | $\leq 10$ | $\leq 1000$ |
| 3 | $60\%$ | $\leq 10$ | $\leq 10^5$ |
对于全部数据,保证有 $1 \leq t \leq 10 , 1 \leq n \leq 10^5$ ,$0 \leq a_i \leq 1$,且保证树上至少有一个点放置有宝物。。