#aBC211D. [ABC211D] Number of Shortest paths

[ABC211D] Number of Shortest paths

AT_abc211_d [ABC211D] Number of Shortest paths

题目描述

在 AtCoder 国,有 NN 个城市,编号为 11NN,以及 MM 条道路,编号为 11MM

通过第 ii 条道路,可以在 11 小时内双向移动城市 AiA_i 和城市 BiB_i 之间。

从城市 11 到城市 NN 的最短路径有多少条?
由于答案可能非常大,请输出其对 109+710^9+7 取模的结果。

输入格式

输入以如下格式从标准输入给出。

NN MM
A1A_1 B1B_1
\vdots
AMA_M BMB_M

输出格式

请输出答案。
如果无法从城市 11 到达城市 NN,请输出 00

输入输出样例 #1

输入 #1

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

输出 #1

2

输入输出样例 #2

输入 #2

4 3
1 3
2 3
2 4

输出 #2

1

输入输出样例 #3

输入 #3

2 0

输出 #3

0

输入输出样例 #4

输入 #4

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

输出 #4

4

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 0M2×1050 \leq M \leq 2 \times 10^5
  • 1Ai<BiN1 \leq A_i < B_i \leq N
  • (Ai,Bi)(A_i, B_i) 互不相同
  • 输入中的所有值均为整数

样例解释 1

从城市 11 到城市 44 的最短路径需要 22 小时,有 22 条路径可以实现,分别是 1241 \to 2 \to 41341 \to 3 \to 4

样例解释 2

从城市 11 到城市 44 的最短路径需要 33 小时,有 11 条路径可以实现,即 13241 \to 3 \to 2 \to 4

样例解释 3

无法从城市 11 到城市 22。在这种情况下,请输出 00

由 ChatGPT 4.1 翻译