测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5401. 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$。

输入输出样例

输入 #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$。
上一题 去做题 下一题