编程题
### 问题描述 大灾难来袭,交通系统瘫痪,城市之间只能通过两站停一次的方式进行出行,即从城市 $a$ 出发,经过城市 $b$,最终到达城市 $c$,并支付 $(w_{ab}+w_{bc})^2$ 的车票费用。 现在有 $n$ 个城市和 $m$ 条单向道路,组成了一个有向图,每条道路都有价格 $w_{ij}$,表示城市 $i$ 与城市 $j$ 两个城市之间的车票费用。 小蓝所在的城市为 $A$ ,这时只有 $B$ 城市是安全的,你还剩下 $E$ 的钱。 他想知道他能否到达安全的地方,如果可以则输出 `Yes` ,反之输出 `No` 。 ### 输入格式 第一行包含两个整数 $n$ 和 $m$($2 \leq n, m \leq 10^5$)。 第二行包含两个整数 $A, B$ ,表示小蓝现在所在的城市 $A$ ,和目前唯一安全的城市 $B$ 。 接下来的 $m$ 行,每行包含三个整数 $v_i$、$u_i$ 和 $w_i$($1 \leq v_i, u_i \leq n$,$1 \leq w_i \leq 50$,$u_i \neq v_i$),分别表示城市 $i$ 、城市 $j$ 以及两个城市之间的车票费用 $w_i$。 再接下来一行给定一个整数 $E$($1\leq E \leq 10^9$),表示你还剩下的钱。 ### 输出格式 一行一个字符串: - 若可以到达 $B$ 城市则输出 `Yes` 。 - 若不能到达 $B$ 城市则输出 `No` 。 ### 输入样例 ```text 5 10 1 4 2 1 3 1 2 4 3 2 3 3 4 5 4 5 2 1 5 5 5 1 2 2 4 2 1 5 2 2 3 3 40 ``` ### 输出样例 ```text Yes ```
查看答案
赣ICP备20007335号-2