更好的题面
查看原帖
更好的题面
727556
wangziwenhk楼主2024/3/31 09:56

题面翻译

给定一棵有 nn 个顶点的带权树和两个点 aa 和 bb,边上有边权。你可以在任意时刻从当前所在的点跳到任意除了 bb 以外的点。

你的目标是从顶点 aa 出发,到达顶点 bb,但是只有当通过一条边到达顶点 bb 后,边权的异或和为 00 时才能到达。换句话说,只有当通过一条边到达顶点 bb 后,边权的异或和为 00 时才能到达顶点 bb。

此外,你最多可以在任意时刻从任意顶点传送到除顶点 bb 以外的任意顶点,即使是顶点 aa 也可以。

如果你能从顶点 aa 到达顶点 bb,输出 "YES";否则输出 "NO"。

输入格式

第一行包含一个整数 tt (1≤t≤10001 \leq t \leq 1000),表示测试用例的数量。

每个测试用例的第一行包含三个整数 nn、aa 和 bb (2≤n≤1052 \leq n \leq 10^5),表示树的顶点数量,以及起始点和目标点的编号,满足 1≤a,b≤n1 \leq a, b \leq n 且 a≠ba \neq b。

接下来的 n−1n-1 行描述了树的边。每行包含三个整数 uiu_i、viv_i 和 wiw_i,表示连接顶点 uiu_i 和 viv_i 的边的权值为 wiw_i (1≤ui,vi≤n;ui≠vi;1≤wi≤1091 \leq u_i, v_i \leq n; u_i \neq v_i; 1 \leq w_i \leq 10^9)。

保证所有测试用例中的顶点数量之和不超过 10510^5。

输出格式

对于每个测试用例,如果你能到达顶点 bb,输出 "YES";否则输出 "NO"。

样例 #1

样例输入 #1

3
5 1 4
1 3 1
2 3 2
4 3 3
3 5 1
2 1 2
1 2 2
6 2 3
1 2 1
2 3 1
3 4 1
4 5 3
5 6 5

样例输出 #1

YES
NO
YES

提示

对于第一个测试用例,我们可以从顶点 11 走到顶点 33,xx 从 00 变为 11;然后从顶点 33 走到顶点 22,xx 变为 33。现在,我们可以传送到顶点 33,再从顶点 33 走到顶点 44,最终到达顶点 bb,因为最终 xx 变为 00,所以我们应该输出 "YES"。

对于第二个测试用例,我们无法移动,因为我们无法传送到顶点 bb,而我们唯一的移动是到达顶点 22,这是不可能的,因为到达时 xx 不会等于 00,所以我们应该输出 "NO"。

2024/3/31 09:56
加载中...