3991:[GESP202409七级] 小杨寻宝

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:0 解决:0

题目描述

## 题目背景 2024 年 9 月 GESP C++ 七级编程第 1 题 ## 题目描述 ⼩杨有⼀棵包含 $n$ 个节点的树,树上的⼀些节点放置有宝物。 ⼩杨可以任意选择⼀个节点作为起点并在树上移动,但是⼩杨只能经过每条边⾄多⼀次,当⼩杨经过⼀条边后,这条边就会消失。⼩杨每经过⼀个放置有宝物的节点就会取得该宝物。 ⼩杨想请你帮他判断⾃⼰能否成功取得所有宝物。 ## 输入格式 第一行包含一个正整数 $t$,代表测试⽤例组数。 接下来是 $t$ 组测试⽤例。对于每组测试⽤例,⼀共 $n+1$ ⾏。 第⼀⾏包含⼀个正整数 $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。 ## 样例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$,且保证树上⼀定有⾄少⼀个节点放置有宝物。

来源/分类