走走走
题号:NC231669
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给你一个有向带权图,你从s点出发到t点,走一条权值为w的边需要花费w.

现在你可以使用赖皮魔法,白走一条边,不用给任何花费,问s点到t点的最小花费

比如给如下图,V_1号点到V_0号点,最小花费走法为,去掉一条边,花费只为 0

可能存在自环和重边,如果s走不到t点,输出-1

输入描述:

第一行输出两个数,nm,n代表点的个数,m代表边数
第二行输出两个数,st,代表从点st
接下来m行,每行为代表uv的有向边,权值为w

输出描述:

输出一行,代表从st新最短路径权值和
示例1

输入

复制
5 6
1 4
1 2 3
2 5 2
1 5 9
2 3 5
3 4 1
5 4 6

输出

复制
4