小杨寻宝

bx606017 程序题 共 个子题

题目描述

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

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

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

输入格式

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

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

第一行包含一个正整数 $n$,代表树的节点数。

第二行包含 $n$ 个非负整数 $a_1, a_2, \ldots, a_n$,其中如果 $a_i = 1$,则节点 $i$ 放置有宝物,若 $a_i = 0$,则节点 $i$ 没有宝物。

之后 $n - 1$ 行,每行包含两个正整数 $x_i, y_i$,代表存在一条连接节点 $x_i$ 和 $y_i$ 的边。

输出格式

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

样例解释 1

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

数据范围

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

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

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧