A5401. Number of Shortest paths
编程题
普及/提高-
知识点
题目描述
在 AtCoder 国,有 $N$ 个城市,编号为 $1$ 到 $N$,以及 $M$ 条道路,编号为 $1$ 到 $M$。
通过第 $i$ 条道路,可以在 $1$ 小时内双向移动城市 $A_i$ 和城市 $B_i$ 之间。
从城市 $1$ 到城市 $N$ 的最短路径有多少条?
由于答案可能非常大,请输出其对 $10^9+7$ 取模的结果。
通过第 $i$ 条道路,可以在 $1$ 小时内双向移动城市 $A_i$ 和城市 $B_i$ 之间。
从城市 $1$ 到城市 $N$ 的最短路径有多少条?
由于答案可能非常大,请输出其对 $10^9+7$ 取模的结果。
输入格式
输入以如下格式从标准输入给出。
> $N$ $M$
> $A_1$ $B_1$
> $\vdots$
> $A_M$ $B_M$
> $N$ $M$
> $A_1$ $B_1$
> $\vdots$
> $A_M$ $B_M$
输出格式
请输出答案。
如果无法从城市 $1$ 到达城市 $N$,请输出 $0$。
如果无法从城市 $1$ 到达城市 $N$,请输出 $0$。
输入输出样例
输入 #1
4 5 2 4 1 2 2 3 1 3 3 4
输出 #1
2
输入 #2
4 3 1 3 2 3 2 4
输出 #2
1
输入 #3
2 0
输出 #3
0
输入 #4
7 8 1 3 1 4 2 3 2 4 2 5 2 6 5 7 6 7
输出 #4
4
说明/提示
## 限制条件
- $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$。
- $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$。