#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,且保证树上一定有至少一个节点放置有宝物。