#GESP1061. [GESP202409 七级T1] 小杨寻宝

[GESP202409 七级T1] 小杨寻宝

题目背景

2024 年 9 月 GESP C++ 七级编程第 1 题

题目描述

小杨有一棵包含 nn 个节点的树,部分节点放有宝物。他可以任选一个节点作为起点在树上移动,但每条边最多经过一次;经过一条边后,这条边就会消失。经过放有宝物的节点即可取得该宝物。

请判断小杨是否存在一种行走方式,能够取得所有宝物。

输入格式

第一行输入正整数 tt,表示测试组数。 每组数据第一行输入正整数 nn。 第二行输入 nn 个整数 a1,a2,ldots,ana_1,a_2,ldots,a_nai=1a_i=1 表示节点 ii 有宝物,ai=0a_i=0 表示没有。 接下来 n1n-1 行,每行输入两个正整数 xi,yix_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

数据范围与提示

  • 1t101 \le t\le 101n1051 \le n\le 10^5
  • 所有测试组的 nn 之和不超过 10510^5
  • 能一次不重复边地经过所有宝物,等价于包含所有宝物的最小连通子树中奇度点数量不超过 22

来源

GESP 2024 年 09 月 C++ 七级 T1