#CF1760G. SlavicG's Favorite Problem
SlavicG's Favorite Problem
题目描述
给定一棵有 个顶点的带权树。树是一个无环连通图。带权树是指每条边都有一个权值的树。该树是无向的,没有根节点。
由于你觉得树太无聊了,于是你决定在这棵树上玩一个游戏。
每一步,你可以从当前节点移动到它的一个邻居(即与其直接相连的另一个节点)。
你有一个变量 ,初始值为 。每当你经过第 条边时, 会变为 (其中 是第 条边的权值)。
你的任务是从顶点 走到顶点 ,但只有当你到达 时, 的值变为 时才能进入节点 。换句话说,你只能通过一条边 进入节点 ,且 。一旦你进入节点 ,游戏立即结束,你就获胜了。
此外,你最多可以在任意时刻传送一次到任意一个顶点(除了 )。你可以从任意节点(包括 )进行传送。
如果你能从 到达 ,输出 "YES",否则输出 "NO"。
注意, 表示按位异或运算。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含三个整数 、 和 (,),分别表示顶点数、起点和终点。
接下来的 行,每行包含三个整数 、 和 ,表示第 条边连接的两个顶点($1 \leq u_i, v_i \leq n; u_i \ne v_i; 1 \leq w_i \leq 10^9$)以及该边的权值。
保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,若你能从 到达 ,输出 "YES";否则输出 "NO"。
样例
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
样例说明
对于第一个测试用例,我们可以从节点 走到节点 , 从 变为 ,然后从节点 走到节点 , 变为 。此时,我们可以传送到节点 ,再从节点 走到节点 ,最终到达节点 ,因为此时 变为 ,所以答案是 "YES"。
对于第二个测试用例,我们没有可行的操作,因为不能传送到节点 ,且唯一能走的就是到节点 ,但此时 不等于 ,所以答案是 "NO"。
由 ChatGPT 4.1 翻译
来源
Codeforces 1760G,英文题名 SlavicG's Favorite Problem。