#P2302. loidc,跑起来

loidc,跑起来

题目背景

loidc在路上诱拐了一个幼女。(他不是哲学家么!?)

题目描述

现在他已经被cony追杀。loidc逃到一个迷宫中,cony也追到了这儿。迷宫由编号由1到n的方块组成。每两个不同的方块将被得知它们是否与另一个相邻。现在已知loidc和cony所处迷宫的位置。在迷宫中的人可以选择留在原地不动,还是移到相邻的方格中。

迷宫具有如下性质:

它不包括三角形,也就是没有任意三个不同的方块,它们两两相邻,

每一个人到达都能到达任意一个方块。

一次追杀由许多回合组成。在一个回合内,每一个人移一步。每一个回合由loidc开始。如果loidc与cony在同一个方格中相遇,那么我们就可能永远见不到loidc了。

loidc非常害怕,他请求你告诉他是否会被cony抓住, 多少回合cony赶上他。(假设两个人都足够聪明)

输入格式

第一行有4个整数n, m, a 和b,它们用单个空格分隔。2<=n<=3000, n-1<=m<=15000, 1<=a,b<=n ,a <b。它们分别表示迷宫中的方块数目, 相邻的一对方块(双向)数目,相邻两个方格中有且仅有一条边。loidc,cony所处的位置。下面m行,一行包含两个用一个空格分开的整数,表示每一对相邻的方块编号。

输出格式

一个单词NO ,如果cony不能赶上loidc 或者

一个整数-如果cony能赶上loidc的最少游戏轮数

9 11 9 4
1 2
3 2
1 4
4 7
7 5
5 1
6 9
8 5
9 8
5 3
4 8
3