#4163. 最少转机

最少转机

题目描述

LEB 和 YH 一同坐飞机去旅游,他们现在位于 11 号城市,目标是 55 号城市,可是 11 号城市并没有到 55 号城市的直航。不过 LEB 已经收集了很多航班的消息,现在 LEB 希望找到一种乘坐方式,使得转机的次数最少,请你帮他输出最少的转机次数。如果两点无法到达,则输出 1-1

输入格式

第一行四个整数 n,m,x,yn, m, x, y,分别表示 nn 个城市,mm 条航线,起点城市 xx 和终点城市 yy

接下来 mm 行,每行两个整数 aabb,表示城市 aa 和城市 bb 之间有航线。

输出格式

输出一行一个整数,表示最少的转机次数(即乘坐的航班数)。如果无法到达输出 1-1

样例

5 7 1 5
1 2
1 3
2 3
2 4
3 4
3 5
4 5
2

样例解释
11 号城市到 55 号城市,可以选择 1351 \to 3 \to 5,乘坐 22 次航班,转机次数为 22。没有更少的方案。

数据范围

  • 0<n,m<500 < n, m < 50
  • 城市编号在 1n1 \sim n 之间。