U322548 图中点的层次

题目背景

众所周知,$\texttt{BFS}$ 和 $\texttt{DFS}$ 是用来遍历图和树的,所以归根结底,我们还是要学会如何用 $\texttt{BFS}$ 和 $\texttt{DFS}$ 遍历树和图。 这道题,是 $\texttt{BFS}$ 遍历图的一个板子题。如果您觉得数据太水,[请看这道题](https://www.acwing.com/problem/content/849/)。

题目描述

给定一个 $n$ 个点 $m$ 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 $1$,点的编号为 $1∼n$。 请你求出 $1$ 号点到 $n$ 号点的最短距离,如果从 $1$ 号点无法走到 $n$ 号点,输出 $−1$。

输入格式

第一行包含两个整数 $n$ 和 $m$。 接下来 $m$ 行,每行包含两个整数 $a$ 和 $b$,表示存在一条从 $a$ 走到 $b$ 的长度为 $1$ 的边。

输出格式

输出一个整数,表示 $1$ 号点到 $n$ 号点的最短距离。

说明/提示

$1≤n,m≤10^5$