CF652E Pursuit For Artifacts
题目描述
Johnny 正在玩一款著名的电脑游戏。游戏的背景设定在某个国家,玩家可以自由旅行、完成任务并获得经验值。
在这个国家里有 $n$ 个岛屿和 $m$ 座连接这些岛屿的桥梁,因此你可以从任意一个岛屿到达任意另一个岛屿。在某些桥的中央,放着古老而强大的神器。Johnny 对神器本身并不感兴趣,但他可以卖掉一些神器赚些钱。
起初 Johnny 在岛屿 $a$ 上,而卖神器的商人在岛屿 $b$ 上(他们可能在同一个岛屿)。Johnny 想要找到某个神器,走到商人那里把它卖掉。唯一的困难是,这些桥太老了,Johnny 每穿越一座桥,桥就会被毁坏。而且 Johnny 这个角色不能游泳、飞行或传送,因此这个问题变得非常棘手。
注意,Johnny 不能走到桥的一半,收集神器后再返回同一个岛屿。
请判断 Johnny 是否能找到某个神器并成功卖掉它。
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 3 \cdot 10^5$,$0 \leq m \leq 3 \cdot 10^5$)——表示游戏中岛屿和桥梁的数量。
接下来的 $m$ 行,每行包含三个整数 $x_i$、$y_i$、$z_i$($1 \leq x_i, y_i \leq n$,$x_i \ne y_i$,$0 \leq z_i \leq 1$),其中 $x_i$ 和 $y_i$ 表示第 $i$ 座桥连接的两个岛屿,$z_i$ 为 $1$ 表示该桥上有神器,否则为 $0$。任意一对岛屿之间至多只有一座桥。保证任意两个岛屿之间都可以互相到达。
最后一行包含两个整数 $a$ 和 $b$($1 \leq a, b \leq n$)——表示 Johnny 和商人分别所在的岛屿编号。
输出格式
如果 Johnny 能找到某个神器并卖掉它,则输出一行 “YES”(不含引号),否则输出一行 “NO”(不含引号)。
说明/提示
由 ChatGPT 5 翻译