编程题
### 问题描述 笨怂太笨啦!他把小乐最喜欢的杯子打碎了。小乐说:别让我追上你,追上你我就弄死你。 笨怂一分钟只能移动一步,具体的一步指的是若 $a$ 点到 $b$ 点有一条路,那么就称 $a$ 走一步可以到达 $b$ 。 小乐和笨怂的移动速度相同,他一分钟也只能移动一步。 笨怂为了保命他要尽可能不去和小乐停留在一个位置。笨怂只知道小乐开始追他的位置是 $w$ ,他并不知道小乐之后具体的会怎么跑,所以他只能去设计一条无论小乐怎么走都不会和他相遇的路线。注意:在移动的某一时刻笨怂和小乐相遇,并且他俩在向相反方向移动,小乐是不会发现笨怂的。 现在笨怂得到了一个安全区,也就是没有和小乐相遇的情况下跑到 $p$ 点笨怂就安全了。笨怂希望减少运动量(他太懒了),所以希望通过尽可能短的时间就从起始位置 $u$ 点移动到安全位置 $p$ 点。 笨怂这么笨他不知道怎么走呀,请你看在笨怂可怜的份上帮他设计一下吧,并告诉他最短的到达安全区的时间是多少。如果不能设计出一条笨怂和小乐不会相遇的路线,那么就请告诉笨怂 "$wait\ for\ death$" 。 ### 输入描述 输入的第一行包含五个整数 $n,m,w,u,p$ 。 $n$ 是可以停留的位置的数量, $m$ 可停留位置之间的路径数量, $w$ 是小乐的起始位置, $u$ 是笨怂的起始位置, $p$ 是安全区的位置。可停留的位置从 $0$ 到 $n-1$ 进行编号。 接下来的 $m$ 行中,每行包含一个相邻可停留位置之间路径的描述, $a\ b$ 表示第 $a$ 个可停留位置和第 $b$ 个可停留位置之间有一条路径。没有路径会连接相同的可停留位置,也没有两个可停留位置之间有多条路径。 数据保证: $1 \leq n \leq 10^5,0 \leq m \leq 2 \times 10^5,0 \leq w,n,p \leq n-1$ 。 ### 输出描述 输出笨怂到安全区最少需要多少分钟或字符串 "$wait\ for\ death$" 。 ### 样例输入 ``` 4 3 0 1 3 2 1 2 3 0 1 ``` ### 样例输出 ``` 2 ``` ### 说明 小乐比笨怂距离安全区更远,所以小乐无论如何都不会追上笨怂。笨怂走到安全区的最短距离是 $2$ ,所以答案是 $2$ 。
查看答案
赣ICP备20007335号-2