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 翻译