#CF4087. 熊二最喜欢的问题

熊二最喜欢的问题

题目描述

熊二有一颗 nn 个顶点的加权树。回想一下,树是一个没有任何环的连通图。加权树是每个边都有一定权重的树。这棵树没有根,是无向的。

由于掏蜂蜜需要爬树,熊二决定挑战自己,在给定的树上练习"爬树"。

在移动中,熊二可以从一个节点移动到它的一个相邻节点(有边直接连接)。

熊二有一个变量 xx,它最初等于 00。通过边 ii 时,xx 将其值更改为 xwix⊕w_i(其中 wiw_i 是第 ii 条边的权重)。

熊二的任务是从节点 aa 到达节点 bb。节点 bb 比较特殊,进入节点 bb 必须满足 xx 的值正好变为 00。换句话说,如果熊二通过使用边 ii 来到达节点 bb,必须满足 xwi=0x⊕w_i=0

此外,熊二可以在任何节点最多传送一次到除 bb 之外的任何顶点,甚至从 aa 传送。

如果可以从节点 aa 到达节点 bb,并结束游戏,输出 YES,否则输出 NO

注意, 表示按位异或操作。

输入格式

第一行包含单个整数 t(1t1000)t(1≤t≤1000) 代表测试用例数。

每个测试用例的第一行包含三个整数 n,a,b(2n105),(1a,bn;ab)n,a,b(2≤n≤10^5),(1≤a,b≤n;a≠b) 代表顶点数,以及起始节点和结束节点。

接下来的 n1n−1 行表示树的边。边 ii 由三个整数 ui,vi,wiu_i,v_i,w_i 表示,代表它所连接的顶点的边序号和相应边的权重 (1ui,vin;uivi;1wi109)(1≤u_i,v_i≤n;u_i≠v_i;1≤w_i≤10^9)

保证所有测试用例的 nn 之和不超过 10510^5

输出格式

对于每个测试用例,如果可以到达顶点 bb,则输出 YES,否则输出 NO。本题大小写不敏感,即输出 yesYesyEs 都等价于 YES

测试样例

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
YES
NO
YES

样例说明

对于第一个测试用例,熊二可以从节点 1 行进到节点 3xx0 变为 1,然后我们从节点 3 行进到节点 2xx 等于 3。现在,熊二可以传送到节点 3,从节点 3 到节点 4,到达节点 bb,因为 xx 最终等于 0,所以应该回答 YES

对于第二个测试用例,熊二没有移动,因为熊二无法传送到节点 bb,熊二唯一的移动是移动到节点 2,这是不可能的,因为到达节点 2xx 不等于0,所以我们应该回答 NO