AT_abc211_d [ABC211D] Number of Shortest paths

题目描述

在 AtCoder 国,有 $N$ 个城市,编号为 $1$ 到 $N$,以及 $M$ 条道路,编号为 $1$ 到 $M$。 通过第 $i$ 条道路,可以在 $1$ 小时内双向移动城市 $A_i$ 和城市 $B_i$ 之间。 从城市 $1$ 到城市 $N$ 的最短路径有多少条? 由于答案可能非常大,请输出其对 $10^9+7$ 取模的结果。

输入格式

输入以如下格式从标准输入给出。 > $N$ $M$ > $A_1$ $B_1$ > $\vdots$ > $A_M$ $B_M$

输出格式

请输出答案。 如果无法从城市 $1$ 到达城市 $N$,请输出 $0$。

说明/提示

## 限制条件 - $2 \leq N \leq 2 \times 10^5$ - $0 \leq M \leq 2 \times 10^5$ - $1 \leq A_i < B_i \leq N$ - $(A_i, B_i)$ 互不相同 - 输入中的所有值均为整数 ## 样例解释 1 从城市 $1$ 到城市 $4$ 的最短路径需要 $2$ 小时,有 $2$ 条路径可以实现,分别是 $1 \to 2 \to 4$ 和 $1 \to 3 \to 4$。 ## 样例解释 2 从城市 $1$ 到城市 $4$ 的最短路径需要 $3$ 小时,有 $1$ 条路径可以实现,即 $1 \to 3 \to 2 \to 4$。 ## 样例解释 3 无法从城市 $1$ 到城市 $2$。在这种情况下,请输出 $0$。 由 ChatGPT 4.1 翻译